[原创]为程序设置一个系统级热键
如何利用Winapi函数为程序设置一个系统级热键
石头
很多程序都有这样一个功能(比如说一些抓图软件和词典软件),无论你正在做什么工作,只要按动键盘上指定的按键,就可以激活正在后台运行的程序。为AW程序设置一个同样的系统级热键也很简单,只需要在流程线上增加一个计算图标,在其中输入:
SendMessage(WindowHandle, 50, Hotkey, 0)
这里的50是消息WM_SETHOTKEY的标识符。Hotkey是你设定热键的值。具体取值如下:A=65 B=66 …… Y=89 Z=90。其他功能键的值你可以通过VB附带的API文本浏览器查找以VK_开头的值即可查到。注意其中给出的是16进制数值,在AW中应该转换为10进制数值。
假如我们要设置Ctrl+Alt+A作为热键,该如何取值呢?这里如果作为组合键,
SHIFT =1 CONTROL =2 ALT =4
Ctrl+Alt+A就应该是:(2+4)×256+65。这里的256是必须乘的。注意如果你只是想用SHIFT或Ctrl键做单一的热键,而不是做组合键,则SHIFT=16,CONTROL =17,而不是1和2,也无需乘256了。
(来自Authorware加油站,转载请注明。)