比如我要不停的按 vbKey1 49 1 键   管什么时候的这样  我应该怎么做?
知道的说下嘛
 我觉得应该不难的!

解决方案 »

  1.   


    Option ExplicitPrivate Sub Form_Load()
        Timer1.Interval = 1000
        Timer1.Enabled = True
    End SubPrivate Sub Timer1_Timer()
        On Error Resume Next
        SendKeys "1"
    End Sub
      

  2.   

    进游戏已经将原来的焦点转移了, 你应该先找到这个游戏的句柄与输入的窗口进程,并让它得到焦点, 使用键盘勾子与Sendmessage等API才能达到你的要求.keybd_event Asc(Chr(j)), 0, 0, 0
    keybd_event Asc(Chr(j)), 0, KEYEVENTF_KEYUP, 0
      

  3.   

    不啊  我在这个小程序里 放了一个测试按键结果的 text1  都不显示了
      

  4.   

    想做个自动不停的按技能的程序  ,不行啊
    偷点懒!lol!
      
      

  5.   

    参考:http://www.m5home.com/bbs/dispbbs.asp?boardID=2&ID=1283&page=1如果这里面的驱动级模拟都还不行,看来游戏是采用了比较BT的方法进行防范.
      

  6.   

    叫X-Trap(GameSecurity)_2162
    用Sendmessage findwindow  等API能解决吗?
      

  7.   

    Module1Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
        ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Public Const KEYEVENTF_KEYUP = &H2
    Public Const KEYEVENTF_KEYDOWN = 0Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Form1
    Private Sub Timer1_Timer()
        If GetAsyncKeyState(vbKeyF9) <> 0 Or GetAsyncKeyState(vbKeyPageUp) <> 0 Then
            Do Until GetAsyncKeyState(vbKeyF10) <> 0 Or GetAsyncKeyState(vbKeyPageDown) <> 0
                keybd_event vbKey1, 0, KEYEVENTF_KEYDOWN, 0
                keybd_event vbKey1, 0, KEYEVENTF_KEYUP, 0
                DoEvents
                Sleep 1000
            Loop
        End If
    End Sub
    Timer是循环check快捷键的,F9/PageUp开始,F10/PageDown停止,可以修改。
    窗体非活动状态,快捷键仍然可用。按键频率Sleep控制。我用此方法做过自动拾取物品的小程序,模拟其它按键。
    如果不可用,可能是被游戏屏蔽了。