爱格封面2017所有模特:VB的问题(编成实例)关于模仿鼠标键盘的动作的

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 03:37:59
一:
1、按一下N键(不是输入N,而是模仿它的动作
2、把鼠标移动到500,500
3、单击鼠标左键
4、单击鼠标右键

二:
完成上面的,再编一下下面的

把鼠标移动到253,563处,等1秒,单击鼠标左键,500毫秒之后,按一下B键
我知道一些有关的
http://www.8esky.com/handbook/vb/sentence/SendKeys.html
但是看不懂

先谢谢了

新建一个默认exe工程,关闭后把下文保存为Form1.frm替换你的文件,然后重开工程.
因为不知道你用在哪儿,所以没法测试.马马虎虎应该没什么错啦.
回答者:k4me - 进士出身 八级 7-27 18:23
------------
22:09补充:设计的是用两个按钮启动两个功能.
第一个问题你可以删除
Private Sub Command2_Click() 以及以下的几行(不跳行)
同样的程序代码,删除Private Sub Command1_Click() 以及以下的几行(不跳行)
就是完成第二个功能的代码.

---------------------------------------------------------
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
Begin VB.Timer Timer2
Left = 3960
Top = 2640
End
Begin VB.CommandButton Command2
Caption = "Command2"
Height = 495
Left = 3240
TabIndex = 1
Top = 1440
Width = 1095
End
Begin VB.Timer Timer1
Interval = 50
Left = 3960
Top = 2040
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 495
Left = 3240
TabIndex = 0
Top = 240
Width = 1095
End
Begin VB.Line Line1
X1 = 2640
X2 = 4560
Y1 = 1080
Y2 = 1080
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Dim Option_Tag As Integer
Dim OnTest As Boolean
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10

Private Sub Form_Load()
Timer1.Enabled = False
Timer2.Enabled = False
End Sub

Private Sub Command1_Click()
SendKeys "+N", True
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 500, 500, 0, 0
mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 500, 500, 0, 0
End Sub

Private Sub Command2_Click()
Timer1.Interval = 1000
Timer1.Enabled = True
Timer2.Interval = 1500
Timer2.Enabled = True
End Sub

Private Sub Timer1_Timer()
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 253, 563, 0, 0
Timer1.Enabled = False
End Sub
Private Sub Timer2_Timer()
SendKeys "+B", True
Timer2.Enabled = False
End Sub

想做个外挂吗?
其实也很简单,作个鼠标键盘钩子就行,网上资料很多,在这里说不明白,自己搜搜吧.关键字:"钩子"

http://post.baidu.com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=VB&rs2=0&myselectvalue=1&word=VB&submit=%B0%D9%B6%C8%CB%D1%CB%F7&tb=on
这里有高手啊

不必用到键盘钩子,这个不难实现,可惜我没学过VB,就学过VC,要是VC我就能帮你编。

sendkeys不能成功的原因是他不能介入游戏正确的发出键盘动作,需要模拟键盘的相关api来做

这是啥东西 要是只想用程序的话 用鼠标连点器便下不是更好