当前位置:编程学习 > VB >>

VB 怎么做 自动按键

比如我要不停的按 vbKey1 49 1 键   管什么时候的这样  我应该怎么做?
知道的说下嘛
 我觉得应该不难的! --------------------编程问答--------------------   启动了就不管什么时候都一直按不停的按 
--------------------编程问答-------------------- 间隔1秒就可以了 --------------------编程问答--------------------

Option Explicit

Private Sub Form_Load()
    Timer1.Interval = 1000
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    On Error Resume Next
    SendKeys "1"
End Sub

--------------------编程问答-------------------- 多谢了 。结贴了 --------------------编程问答-------------------- 还有个问题  怎么我进游戏 这个程序就没用了  
    --------------------编程问答-------------------- 进游戏已经将原来的焦点转移了, 你应该先找到这个游戏的句柄与输入的窗口进程,并让它得到焦点, 使用键盘勾子与Sendmessage等API才能达到你的要求.

keybd_event Asc(Chr(j)), 0, 0, 0
keybd_event Asc(Chr(j)), 0, KEYEVENTF_KEYUP, 0


--------------------编程问答-------------------- 不啊  我在这个小程序里 放了一个测试按键结果的 text1  都不显示了 --------------------编程问答-------------------- 想做个自动不停的按技能的程序  ,不行啊
偷点懒!lol!
   --------------------编程问答-------------------- 下载一个
金山一键必杀 --------------------编程问答--------------------
引用 3 楼 supergreenbean 的回复:
VB.NET code
Option Explicit

Private Sub Form_Load()
    Timer1.Interval = 1000
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    On Error Resume Next
    SendKeys "1"
End Sub


好久不见豆子!!!!!!!!!!!!! --------------------编程问答-------------------- 顶一下! --------------------编程问答-------------------- 参考:

http://www.m5home.com/bbs/dispbbs.asp?boardID=2&ID=1283&page=1

如果这里面的驱动级模拟都还不行,看来游戏是采用了比较BT的方法进行防范. --------------------编程问答-------------------- 打不开网站了
  是不是要找到游戏的里 “1”的代码?  键盘码已经没用了吧?
游戏启用前有一个防范的程序先运行 类似  np  --------------------编程问答-------------------- 叫X-Trap(GameSecurity)_2162
用Sendmessage findwindow  等API能解决吗? --------------------编程问答-------------------- 晕
空间满了
得清理一下了 --------------------编程问答-------------------- Module1

Public 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 = 0

Public 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控制。

我用此方法做过自动拾取物品的小程序,模拟其它按键。
如果不可用,可能是被游戏屏蔽了。 --------------------编程问答-------------------- 好了,我的空间已经清理了

里面有个驱动,算是终级大法了吧.

那帖子里的几种模拟方法,应该比较全了. --------------------编程问答-------------------- 没有winio.dll 。这东西 --------------------编程问答-------------------- 好像没那么简单,呵呵. --------------------编程问答-------------------- 有点难度哦
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,