• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi程序中定义热键

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 
  用到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是一个特殊的变量,它表示当前窗口的句柄。

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap