|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『楼 主』:
vbs如何输入中文
─────────────────── 版务记录 ────────────────────
执行:bjsh
说明:因在[请问我的这个vbs错在哪里?]里发表过类似内容,没必要发表新贴;
提示: 类似内容的问题可以在一个楼里提出;适当修改标题即可.
处罚:暂时不予处罚;给予警告;请点击这里阅读论坛发帖规定,以避免在
今后的讨论中违规发帖。
─────────────────── 版务记录 ────────────────────
我抄了个用vbs自动登陆中游的vbs,但是发现用户名是中文就不行了,请问该怎么办?
hjd="""C:\Program Files\Chinagames\iGame\iGame.exe"""
Set Ws=WScript.CreateObject("WScript.Shell")
Ws.Run hjd
WScript.Sleep 2000
Ws.SendKeys "+{TAB 2}"
Ws.SendKeys "{bs 100}"
Ws.SendKeys "//小楼一夜听春雨/"
WScript.Sleep 1000
Ws.SendKeys "{TAB 2}"
Ws.SendKeys "123456"
WScript.Sleep 200
Ws.SendKeys "{ENTER}"
[ Last edited by bjsh on 2007-4-24 at 07:51 PM ]
|
|
2007-4-25 08:13 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
2 楼』:
SendKeys的字面意思就是发送键盘命令,中文不行,只能换个思路(查找ing...)
如果输入行支持Ctrl+A全选:
Ws.SendKeys "^a{del}"(也可以不用{del},直接"^a123456"方式,下同)
而可以不用Ws.SendKeys "{bs 100}"
如果不支持Ctrl+A全选:
如果输入光标在输入行的最右侧:Ws.SendKeys "+{left}{del}"
如果输入光标在输入行的最左侧:Ws.SendKeys "+{right}{del}"
[ Last edited by zh159 on 2007-4-25 at 12:22 AM ]
|
|
2007-4-25 13:11 |
|
|
lililulula
中级用户
积分 302
发帖 138
注册 2007-3-29
状态 离线
|
『第
3 楼』:
测试环境XP,ctrl+space切换后输入法为智能ABC
结果输出:小楼一夜听春雨
Quote: | zhongwen="C:\WINDOWS\system32\cmd.exe"
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run zhongwen
WScript.Sleep 1000
WshShell.SendKeys "^ xiao"
WScript.Sleep 1000
WshShell.SendKeys "lou "
WScript.Sleep 1000
WshShell.SendKeys "yi "
WScript.Sleep 1000
WshShell.SendKeys "ye "
WScript.Sleep 1000
WshShell.SendKeys "2"
WScript.Sleep 1000
WshShell.SendKeys "ting "
WScript.Sleep 1000
WshShell.SendKeys "chun "
WScript.Sleep 1000
WshShell.SendKeys "yu "
WScript.Sleep 1000
WshShell.SendKeys "5" |
|
|
|
2007-4-25 23:25 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
4 楼』:
ctrl+space切换输入法一般是默认的第一个输入法,我的是“紫光拼音”,所以要先根据个人使用方式利用ctrl+space次数切换
|
|
2007-4-25 23:39 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
5 楼』:
创建IE对象,就可以使用剪贴板了^
把中文复制到剪贴板后用VBS发送SENDKEYS
ctrl+V组合
|
|
2007-4-26 07:55 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by slore at 2007-4-25 18:55:
创建IE对象,就可以使用剪贴板了^
把中文复制到剪贴板后用VBS发送SENDKEYS
ctrl+V组合 |
|
对,我写了一个
str = "内容内容$内容内容"
Num = len(str)
Set WshShell=wscript.createobject("Wscript.Shell")
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
WshShell.run("notepad.exe")
Wscript.Sleep 1000
for i = 1 to Num
Wscript.Sleep 200
var = Mid(str, i, 1)
if var = "$" then var = vbCrLf
objIE.document.parentwindow.clipboardData.SetData "text", var
WshShell.Sendkeys("^v")
next
objIE.Quit
Wscript.Quit
|
|
2007-4-26 11:37 |
|
|
fengjing001
初级用户
积分 69
发帖 37
注册 2007-1-1
状态 离线
|
『第
7 楼』:
希望对这些好的东东能详细讲解一下。我这样的菜鸟还看不懂啊。
|
|
2007-4-26 12:18 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
8 楼』:
6楼 可以在后面加上解释吗?
谢谢了,
我运行你的代码时,提示objIE.Quit 这一句出错了.不要这句就可以,但是会打开一个空白的网页,好奇怪!!!!
[ Last edited by 26933062 on 2007-4-28 at 10:03 AM ]
|
|
2007-4-28 22:57 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
9 楼』:
需要IE支持(应该IE是默认的浏览器)
其实和批处理差不多,只不过多了objIE将的字符用for一个个复制入剪贴板
|
|
2007-4-28 23:23 |
|
|
kich
中级用户
积分 397
发帖 168
注册 2006-10-8
状态 离线
|
『第
10 楼』:
恩!好像如果是遨游默认浏览器,那有难度啊!!~~!
|
|
2007-8-16 16:11 |
|