注册热键!

原创 2004年09月10日 13:26:00

1.定义热键ID变量

private
    { Private declarations }
    hotkeyID:integer;//全局变量,定义热键ID变量
    procedure shorcut(var msg:TMessage);//定义 Windows 的消息WM_HOTKEY 的 HOOK 链
    message WM_HOTKEY;

2.注册热键:

hotkeyID:=GlobalAddATom('hotkey');
RegisterHotkey(Handle,hotkeyID,mod_Control,88);

3. 消息响应:

procedure TForm1.shorcut(var msg: TMessage);
begin
msg.Result:=1; //表示消息已经用过!
Application.BringToFront;
Application.MessageBox('热键已起作用!','提示',MB_OK+MB_ICONInformation);
end;

4. 释放资源:

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,hotkeyID);
DeleteAtom(HotKeyID);
end;
5.RegisterHotKey 函数原形如下

 

         BOOL RegisterHotKey(
            HWND hWnd,             // 连接热键的窗口句柄

             int id,                 // 全局原子句柄

             UINT fsModifiers,      // 热键修饰标志

             UINT vk                 // 虚拟键盘码

             );

找虚拟键值,可以在delphi help里搜索virtual Key

Windows编程实现自定义全局热键

一、实现全局热键主要使用以下API(详情查看MSDN):- 获取热键标识:GlobalAddAtom - 注册热键:RegisterHotKey - 注销热键:UnregisterHotKey - 释...
  • zhoufuxinzfx
  • zhoufuxinzfx
  • 2016年03月09日 16:22
  • 2839

章鱼哥出品—VB.NET 自定义快捷键使用详解之全局热键

如何设置VB.NET 窗体的全局热键(快捷键),
  • zhangyubishoulin
  • zhangyubishoulin
  • 2014年10月06日 01:49
  • 4202

WPF的热键实现

项目开发中,需要实现对于热键的支持,实际上有两种方案来实现,一种是采用WPF的方式,即命令绑定,利用InputBinding实现ICommand的快捷键绑定处理,另一种是调用系统API注册热键的方式....
  • u013376417
  • u013376417
  • 2015年03月13日 13:56
  • 1590

C#全局热键设置与窗体热键设置实例

1、窗体热键 首先要设置主窗体KeyPreview为true,可直接在属性中进行设置, 或者在窗体加载中设置: this.KeyPreview = true; 然后添加窗体KeyDown事件,如...
  • cuoban
  • cuoban
  • 2016年02月26日 16:16
  • 3383

MFC实现全局热键

要想使用全局热键的话,需要用到两个函数: BOOL WINAPI RegisterHotKey( __in_opt HWND hWnd, __in int id, __...
  • ccfxue
  • ccfxue
  • 2016年05月10日 16:53
  • 1117

[JNI]用JAVA实现全局快捷键

基本思路:使用WIN API实现一个底层键盘钩子,监听按键事件。如果需要的快捷键被触发,则弹出相应的窗口。 找到了http://www.jotschi.de/?p=90 这个代码基本上实现了我的要...
  • ycb1689
  • ycb1689
  • 2013年03月05日 11:44
  • 1942

如何实现全局热键

要实现系统范围内的热键
  • wwkaven
  • wwkaven
  • 2014年06月14日 12:39
  • 2286

Delphi使用全局快捷键

Delphi使用全局快捷键 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Gra...
  • gjtao1130
  • gjtao1130
  • 2013年08月08日 14:18
  • 2410

现学现用 - C++监视热键源代码

和易语言的功能差不多 没用线程和动态数组 int 监视热键(子程序指针 响应事件, /*响应事件(热键标识, 其它...), 事件参数数目不限!如果再次监视热键将响应事件!*/ 整数型 键代...
  • asaqlp
  • asaqlp
  • 2016年06月14日 17:17
  • 1567

Win7 禁止Ctrl+Alt+Del、Win+L等任意系统热键

标 题: 【原创】Win7 修改Winlogon.exe进程一个字节禁止Ctrl+Alt+Del、Win+L等任意系统热键 作 者: heiheiabcd 时 间: 2012-12-01,10...
  • linfei2707
  • linfei2707
  • 2014年05月07日 18:13
  • 7884
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:注册热键!
举报原因:
原因补充:

(最多只允许输入30个字)