Q键连发。按住Q键则连发。松开则停止1。 1楼. 检测 按键按下,则允许某一段后台程序开始执行。
2楼. 获得后台输入窗口的 Hwnd。
子窗口要取子窗口的Hwnd。DX软件绘图的窗口,要用DX按键模式。
.
用API函数,
ret = GetAsyncKeyState(81)来检测。
可以这样简单理解,
ret 小于 -1,则为按住。
ret 大于 -1,则不是按住。
.
检测到Q键按下,则循环开关=1,允许某一段后台程序开始执行。
检测到Q键弹起,循环开关=0,结束某一段后台程序的执行。
.
while(1)//循环
while(循环开关)//小循环
后台按键Q(Hwnd)
sleep(10)
end
//
sleep(100)
end
GetAsyncKeyState,
所在库:user32.dll。
<返回值>: Long
参数1:integer
//
自对GetAsyncKeyState函数的上 一次调用以来,
如键 已被按过,则位0设为1;否则设为0。
//
如键 目前处于按下状态,则位15设为1;如抬起,则为0。
//
GetAsyncKeyState函数返回的是指定虚拟键瞬时的状态值,它有四种返回值:
0---键当前未处于按下状态,而且自上次调用GetAsyncKeyState后改键也未被按过;
1---键当前未处于按下状态,但在此之前(自上次调用GetAsyncKeyState后)键曾经被按过;
-32768(即16进制数&H8000) --- 键当前处于按下状态,但在此之前(自上次调用GetAsyncKeyState后)键未被按过;
-32767(即16进制数&H8001) --- 键当前处于按下状态,而且在此之前(自上次调用GetAsyncKeyState后)键也曾经被按过。
//
VK_LBUTTON 鼠标左键 0x01
VK_RBUTTON 鼠标右键 0x02
VK_CANCEL Ctrl + Break 0x03
VK_MBUTTON 鼠标中键 0x04
VK_BACK Backspace键 0x08
VK_TAB Tab键 0x09
VK_RETURN 回车键 0x0D
0x是C语言的16进制数。
16进制数的0D,写成10进制数是13。
.
.
前台按键的API,和后台按键的API是分开的。各有各的通道。