用VB如何编程序 让软件界面按Home键呼出?

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:10:44
比如:我先打开我做的小软件,然后最小化,再登陆进一个游戏里,
我需要那个小软件的时候,按Home键就可以呼出,
请问在用VB做这个小软件的时候该怎么弄,请不要太复杂,
重点问题就是在VB做这个小软件的主窗体的时候,如何设置这个Home键功能来呼出这个小软件???谢谢了 哪位大哥给个简单明了的答案,最好是源码+详解。祝你身体健康了

按下某组键(HotKey)便执行某程序
来源:cww
在Dos的年代,我们常会以拦截中断向量的方式,做到按下某个hotkey而自动执行某个程
式,在Window呢,也可以,不过它是用RegisterHotkey API来完成。

使用RegisterHotkey的概念是,它会定义一组按键的组合,当使用者不管在哪个程序之中
,按下Window有注册的HotKey时,OS会传送WM_HOTKEY 的讯息给待接收该讯息的Window,
而该Window收到WM_HOTKEY时,便可知道有本身Thread所定义的HotKey被按下,於是可以
从wParam, lParam来得知是哪一组HotKey被按下。

RegisterHotKey(
ByVal hwnd As Long , //接收Hotkey的Window
ByVal idHotKey as Long, // identifier of hot key,range 0x0000 through 0xBFFF
ByVal Modifiers As Long, // 定义alt shift control等的组合
ByVal uVirtKey As Long // virtual-key code
)

WM_HOTKEY 叁数的定义
idHotKey = wParam; // identifier of hot key
Modifiers = (UINT) LOWORD(lParam); // key-modifier flags
uVirtKey = (UINT) HIWORD(lParam); // virtual-key code

所以了,除了设定RegisterHotkey外,另要使用SubClassing的技巧才会得知HotKey被按
下;最后,程序结束前要使用UnRegisterHotkey将HotKey的定义取消掉。