首页 > Windows开发 > 详细

delphi程序中定义热键

时间:2015-03-27 12:29:15      阅读:395      评论:0      收藏:0      [点我收藏+]

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是一个特殊的变量,它表示当前窗口的句柄。

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

delphi程序中定义热键

原文:http://www.cnblogs.com/honeynm/p/4371287.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!