首页 > 编程知识 正文

python注册热键_RegisterHotKey注册快捷键

时间:2023-05-05 08:10:28 阅读:211004 作者:4693

因为我们还要在程序退出的时候,消除这个热键,   所以需要声明一个全局变量:

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。

上面   的代码注册了一个热键:ALT+F8。当然如果你希望象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;

然后在程序中加入如下代码:

消息处理函数中判断消息是否为 WM_HOTKEY消息

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。