VB之QQ2009模拟键盘输入代码

来源:百度知道 编辑:UC知道 时间:2024/09/26 03:27:49
要求如题!
我的代码,测试可用!

Public Function RunQQ2009()
Dim ReturnValue
Dim s_path, QQNun, QQPassd As String

QQNum = Form1.ListView1.SelectedItem.SubItems(1)
QQPassd = Form1.ListView1.SelectedItem.SubItems(2)

s_path = cINI.getKeyValue("QQ2009Path", , "WinSet", App.Path + "\SysSet.ini")

If Dir(s_path) <> vbNullString Then

ReturnValue = Shell(s_path, vbNormalFocus)

Sleep 300

AppActivate ReturnValue

SendKeys "{tab 8}" 'true'把焦点调整到“账号”框

SendKeys "{backspace}" 'true'清除默认账号

'延时

Dim lngTime As Long

lngTime = Timer

While Timer - lngTime < 1 '延时1秒

DoEvents

Wend

SendKeys QQNum '输入帐号

SendKeys "{tab}", True '切换焦点到“密码”框

SendKeys "{backspace 16}"

call shell("C:\Program Files\Tencent\QQ\Bin\QQ.exe",vbNormalFocus)
For i = 1 To 10000
For j = 1 To 100
DoEvents '等待QQ启动(很慢的!)
Next
Next
sendkeys "969588447" 'QQ号(我的)
doevents
sendkeys "{Tab}"
doevents
sendkeys "passpass" '密码,当然我的不能告诉你……
doevents
sendkeys "{Enter}" '回车提交

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Command1_Click()
Call keybd_event(37, 0, 0, 0) '模拟按下"R"键
End Sub

Private Sub Timer1_Timer()
Call keybd_event(37, 0, 0, 0) '模拟按下"R"键
End Sub

附带一个表
键盘键与虚拟键码对照表

字母和数字键 数字小键盘的键 功能键 其它键
键 键码 键 键码 键 键码 键 键码
A 65 0 96 F1 112 Backspace 8
B 66 1 97 F2 113 Tab 9
C 67 2 98 F3 114 Clear 12