房天下 > 房天下问答 > 业主生活 > 其他
  • 高分求VB★发送模拟按键★的方法

    ■模拟一直按住一个键,Key_event和PostMessage函数我都用了,可以成功发送按键信息,但无法实现一直按住,比如执行一句KeyDown(只执行一次)后,会在记事本上输出一大串相同的对应字母,一直到执行KeyUp才停止,最好能发代码,要简易可行的。 ■必须要实现★一直按住★的效果,只按一下的方法不要费口舌讲了!!■普通postmessage发送keydown的方法我会,但是并不是真的能模拟一直按住的效果,恳求指点!

    提问者:酷BB

    发布于2011-01-18

共1个回答
  • wghvc 丨Lv 4
    实际的操作中,除了功能键能有一直按住效果外,其它字符键都不可以一直按住。 你打开记事本,一直按住A键,等出了一串A字符后不放开A键再按下B键,会出现什么效果?这时A字符当然不会再出现,而会一直出B字符。 那么,要解决你这个问题其实很简单,用timer控件+PostMessage就可以了,在timer中检测中止条件,符合时timer.enabled =false。 你既然都会用PostMessage了,timer控件对你来说应该是小菜一碟,代码俺就不写了。另外,我找了下我以前写的一个游戏的外挂代码,其中有模拟按键的:Private Sub timTK4ts_Timer() If MyHP < SetMinHP Then timTK4.Enabled = True Else timTK4.Enabled = False End IfEnd SubPrivate Sub timTK4_Timer() If MyHP > 0 Then PostMessage GHwnd, WM_KEYDOWN, VK_4, MakeKeyLparam(VK_4, WM_KEYDOWN) '键4按下 PostMessage GHwnd, WM_KEYUP, VK_4, MakeKeyLparam(VK_4, WM_KEYUP) '键4放开 End IfEnd Sub看代码,不post弹开就表示该键是一直按下的,但还是那句老话,只对功能键有用.
    +1 2011-01-18 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。