驱动级键盘模拟的问题
从网上找的帖子,好像是老马写的,说了3种键盘模拟的方法,用keybd-event模拟A按下能够控制CS1.6的人向左移动,但是确是一直移动,好像键盘弹起事件不管用。用的第三种方法,即winio驱动级模拟,但是测试时对一些输入框都行,就是对CS不管用。这是哪里出了问题呢?CS是测试用的,就这一个游戏
[解决办法]
测试了一下,估计你是没有加入延迟吧.
我这里一切正常.
代码:
- VB code
'代码位于窗体内.添加一个Command1与Timer1.Option ExplicitPrivate Declare Sub Sleep Lib "kernel32.dll" ( _ ByVal dwMilliseconds As Long)Private Sub Command1_Click() Timer1.Tag = "1" Timer1.Interval = 3000 '3秒时间用于切换到游戏界面 Timer1.Enabled = Not Timer1.Enabled Me.Caption = Timer1.EnabledEnd SubPrivate Sub Form_Load() If InitWinIO = False Then MsgBox "驱动程序加载失败!" Unload Me End If Me.Caption = Timer1.EnabledEnd SubPrivate Sub Form_Unload(Cancel As Integer) UnloadWinIO '程序结束时记得用ShutdownWinIo函数卸载驱动程序End SubPrivate Sub Timer1_Timer() Const VK_A As Long = &H41 If Timer1.Tag <> "" Then Timer1.Tag = "" Timer1.Interval = 500 End If MyKeyDown vbKeySpace '0.1秒后放开空格键 Sleep 100 MyKeyUp vbKeySpace Sleep 2000 MyKeyDown vbKeyW '各按下1秒后放开 Sleep 1000 MyKeyUp vbKeyW MyKeyDown vbKeyA Sleep 1000 MyKeyUp vbKeyA MyKeyDown vbKeyS Sleep 1000 MyKeyUp vbKeyS MyKeyDown vbKeyD Sleep 1000 MyKeyUp vbKeyDEnd Sub