按键精灵吧 关注:499,747贴子:1,016,194
  • 11回复贴,共1

通过win32api获取指定按键的状态

只看楼主收藏回复

win32api:
Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
参数:左键 VK_LBUTTON
右键 VK_RBUTTON
返回值等于1 说明键已经被按过并且当前是松开的状态
返回值等于0 说明键是松开的状态
返回值等于- 32767 说明键是按下的状态
返回值等于32768 说明键是按住的状态
Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Do
x = GetAsyncKeyState(114)
Select Case x
Case 1
TracePrint "按了一次F3"
Case 0
TracePrint "没按住F3"
Case - 32767
TracePrint "按住了F3"
End Select
Delay 1000
Loop


IP属地:福建1楼2022-02-26 23:14回复
    这不就是山海师吗?


    IP属地:广西来自iPhone客户端2楼2022-03-08 07:48
    收起回复
      表示看不懂。。。


      IP属地:广东来自iPhone客户端3楼2022-03-08 14:33
      收起回复
        问了朋友 他也懵 哈哈


        IP属地:广东来自iPhone客户端4楼2022-03-08 18:51
        回复
          厉害了 大佬!


          IP属地:广东来自Android客户端5楼2022-03-09 07:08
          收起回复
            一看就好专业的样纸📄


            IP属地:广西来自iPhone客户端6楼2022-03-09 09:08
            回复
              原来还能调用 dll 的吗……我差点就想从c++手写脚本了


              IP属地:黑龙江8楼2022-11-13 21:47
              回复
                按键精灵调用api是动态调用,返回值是long并不受你定义的返回类型影响,所以integer没有意义的,一律按long算,所以在调用这个api的时候存在返回-32767,


                IP属地:广西来自iPhone客户端9楼2022-11-14 12:54
                回复
                  为什么我按住不放F3什么都没有执行, 松开时会执行CASE1呀??


                  IP属地:安徽10楼2022-11-15 21:37
                  回复