python注册热键_RegisterHotKey注册快捷键

python注册热键_RegisterHotKey注册快捷键因为我们还要在程序退出的时候 消除这个热键 所以需要声明一个全局变量 HotKeyId Integer 第一步 在窗口的 create 事件中 加入以下代码 HotKeyId GlobalAddAto MyHotKey C000 注 HotKeyId 的合法取之范围是 0x0000 到 0xBFFF 之间 GlobalAddAto 函数得到的值在 0xC0

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

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消息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223257.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午2:30
下一篇 2026年3月17日 下午2:30


相关推荐

  • 2×3卡方检验prism_SPSS之卡方检验

    2×3卡方检验prism_SPSS之卡方检验点击蓝字关注我们在介绍卡方检验之前,我们先了解一下非参数检验:非参数检验是指在母体不服从正态分布或分布情况不明确时,即不依赖母体分布的类型,用以检验数据是否来自同一个母体假设的一类检验方法,又称分布自由检验。那么什么是卡方检验呢?01卡方检验的定义卡方检验是一种极为典型的对总体分布进行检验的非参数检验方法。用于检验数据是否与某种概率分布的理论数字相吻合,进而推断样本数据是否来自该分布的…

    2022年5月17日
    68
  • 零基础学Java(5)输入与输出

    零基础学Java(5)输入与输出输入与输出读取输入要想通过控制台进行输入,首先需要构造一个与"标准输入流"System.in关联的Scanner对象。//创建输入流对象Scannerin=new

    2022年8月7日
    11
  • 反编译DLL。并且修改DLL内容

    反编译DLL。并且修改DLL内容一用到的工具 1 反编译工具 ILSpy exe 是个很不错的反编译软件 而且是免费了 2 微软的工具 ildasm exe 这个是把 DLL 生成 IL 文件的一个软件 是微软自带了 可以在 C ProgramFiles x86 MicrosoftSDK Windows v7 0A Bin 找到该软件 3 微机的工具 ilasm exe 这个是把 IL 文件重新生成 DLL 的功能 可以在 C Win

    2026年3月19日
    2
  • 斯坦福 2025 年 HAI 报告出炉,国产大模型仅讯飞星火入围 Mix-Eval 前十

    斯坦福 2025 年 HAI 报告出炉,国产大模型仅讯飞星火入围 Mix-Eval 前十

    2026年3月14日
    4
  • java最长递增子序列_求数组最长递增子序列

    java最长递增子序列_求数组最长递增子序列[java]代码库packagecom.wzs;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;//求数组中最长递增子序列publicclassTest{publicstaticvoidmain(String[]args){inta[]={1,-1,2,-3,4,-5,6…

    2022年5月2日
    59
  • Apache规则RewriteCond详解

    Apache规则RewriteCond详解
    Apache中RewriteCond语句对于我来说一直是个难点,多次试图去把它搞明白,都没有结构,这次我终于算大概知道它的意思了。 RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始、基础的功能,为了方便理解,下面来看看几个例子。
      RewriteEngineon
      RewriteCond %{HTTP_USER_AGENT

    2022年6月12日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号