用360打开自己做的网站有广告,山西网站建设鸣蝉,免费的seo教程,南通模板网建站使用方法如下#xff1a; BOOL RegisterHotKey( HWND hWnd, //响应该热键的窗口句柄 Int id, //该热键的唯一标识 UINT fsModifiers, //该热键的辅助按键 UINT vk //该热键的键值 ); 为了得到唯一…使用方法如下 BOOL RegisterHotKey( HWND hWnd, //响应该热键的窗口句柄 Int id, //该热键的唯一标识 UINT fsModifiers, //该热键的辅助按键 UINT vk //该热键的键值 ); 为了得到唯一标识我们还将用到另一个API函数 ATOM GlobalAddAtom( LPCTSTR lpString //自己设定的一个字符串 ); 因为我们还要在程序退出的时候消除这个热键 所以需要声明一个全局变量 HotKeyId: Integer; 第一步 在窗口的create事件中加入以下代码 HotKeyId : GlobalAddAtom(‘MyHotKey’) - $C000; 注 HotKeyId的合法取之范围是0x0000到0xBFFF之间 GlobalAddAtom函数得到的值 在0xC000到0xFFFF之间所以减掉0xC000来满足调用要求。 第二步 在上面的代码下面加入 RegisterHotKey(Handle, hotkeyid, MOD_ALT, VK_F8); 热键的辅助按键包括Mod_Ctrl 、Mod_Alt、Mod_Shift,对于Windows兼容键盘还支持Windows 键即其键面上有Windows标志的那个键其值为Mod_win。 上面 的代码注册了一个热键ALTF8。当然如果你希望象TAKEIT那样只用F8, 就这么写 RegisterHotKey(Handle, hotkeyid, 0, VK_F8); 注handle是一个特殊的变量它表示当前窗口的句柄。 这个函数你应该能句举一反三了吧。 原理 一旦热键设置成功在程序 应用
过程中如果有相应的键被按下Windows系统都会给你的应 用程序发送一个消息WM_HOTKEY不管你的应用程序是否为当前活动的。其中WM_HOTKEY消 息的格式为 idHotKey (int) wParam; // 该参数在设置系统级的热键有用,一般不予使用 fuModifiers (UINT) LOWORD(lParam); //热键的辅助按键 uVirtKey (UINT) HIWORD(lParam); //热键的键值 第三步 注册了热键就该写下响应代码了。 首先在程序头部分的private段中加入声明 作用是声明这个过程和声明变量类似。 关于如何声明函数、过程请请参考各自的帮助文件或其它资料 procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY; 然后在程序中加入如下代码: procedure Tfmain.HotKeyDown(var Msg: Tmessage); begin if (Msg.LparamLo MOD_ALT) AND Msg.LParamHi VK_F8 then // 假设热键为ALTF8 begin end; 最后一步 在窗口的close事件中加入 UnRegisterHotKey(handle, HotKeyId); //注销HotKey, 释放 资源