zoukankan      html  css  js  c++  java
  • delphi程序中定义热键

    delphi程序中定义热键

     
      用到3个API函数
             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。

      上面 的代码注册了一个热键:ALT+F8。当然如果你希望象TAKEIT那样,只用F8, 就这么写:

      RegisterHotKey(Handle, hotkeyid, 0, VK_F8);

      注:handle是一个特殊的变量,它表示当前窗口的句柄。

      这个函数你应该能句举一反三了吧。

  • 相关阅读:
    Windows 环境 cygwin 安装 SSH
    看见上帝的 10 个公式……
    移动平均
    分位数
    算术平均、几何平均、调和平均、平方平均和移动平均
    平均数、中位数和众数及它们之间的关系
    10 个超炫绘制图表图形的 Javascript 插件【转载+整理】
    “服务器推”技术【转载+整理】
    网站数据监控监测系统
    Active Directory 域服务(AD DS)
  • 原文地址:https://www.cnblogs.com/honeynm/p/4371287.html
Copyright © 2011-2022 走看看