社区
Windows SDK/API
帖子详情
注册热键问题?
Percy_ButtonS
2004-03-29 12:55:48
哪为兄弟能告诉我,当我在窗体创建是RegisterHotKey后,我隐藏了窗体,我想用一个热键呼出(比如F12),不知下面的代码该怎么写?望高手指点!
最后是否 还要unRegisterHotKey?
...全文
36
2
打赏
收藏
注册热键问题?
哪为兄弟能告诉我,当我在窗体创建是RegisterHotKey后,我隐藏了窗体,我想用一个热键呼出(比如F12),不知下面的代码该怎么写?望高手指点! 最后是否 还要unRegisterHotKey?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aiirii
2004-03-29
打赏
举报
回复
http://eco.hermes.com.cn/emailsys/enews/techpreview.asp?j=5&p=236
全局热键
--------------------------------------------------------------------------------
在程序里定义热键,只能在自己的应用窗口范围内使用,受到一定的限制。如果能在自己的应用程序里定义能被所有窗口访问的热键,应该是比较具有现实意义的。要定义一个全局热键,通常有三个步骤:
1.定义 Windows 的消息 WM_HOTKEY 的 HOOK 链,即 procedure myshortcut(var message: TMessage);message WM_HOTKEY;
2.向 Windows 加入一个全局原子 hotkey : GlobalAddAtom('hotkey'), 并保留其句柄。
3.向 Windows 登记热键链: RegisterHotKey( 应用句柄,全局原子句柄, mod_control ,88 );
其中,RegisterHotKey 函数原形如下
BOOL RegisterHotKey(
HWND hWnd, // 连接热键的窗口句柄
int id, // 全局原子句柄
UINT fsModifiers, // 热键修饰标志
UINT vk // 虚拟键盘码
);
这里,fsModifiers 是指虚拟键盘码 vk 结合何种键一起生成 WM_HOTKEY 的消息,它是下列三值的组合:
MOD_ALT // ALT 键必须按下
MOD_CONTROL // CTRL 键必须按下
MOD_SHIFT // SHIFT 键必须按下
有了这些准备,你就可以定义自己喜欢的方式了。下面是一个范例,当 CTRL + Q 在任何时候被按下时,都会打出 "你好,Crtl + Q 被按下" 的信息。
Type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure myshortcut(var message: TMessage); message WM_HOTKEY;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
id:Integer;
implementation
{$R *.DFM}
procedure TForm1.myshortcut(var message: TMessage);
begin
ShowMessage('你好,Crtl + Q 被按下');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,88);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id); //别忘了在退出时取消定义
end;
Percy_ButtonS
2004-03-29
打赏
举报
回复
谢谢:)
易语言源码易语言
注册
热键
的应用源码.rar
易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar ...
系统
热键
注册
系统
热键
注册
系统
热键
注册
系统
热键
注册
系统
热键
注册
系统
热键
注册
易语言
注册
热键
的方法
易语言
注册
热键
分享一下谢谢大家支持。本人水平低,求教求教
易语言
热键
注册
热键
源码例程
易语言
热键
注册
热键
源码例程。@易语言入门教程。
易语言源码易语言
热键
注册
热键
源码例程.rar
易语言源码易语言
热键
注册
热键
源码例程.rar 易语言源码易语言
热键
注册
热键
源码例程.rar 易语言源码易语言
热键
注册
热键
源码例程.rar 易语言源码易语言
热键
注册
热键
源码例程.rar 易语言源码易语言
热键
注册
热键
源码...
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章