社区
Windows SDK/API
帖子详情
注册热键问题?
Percy_ButtonS
2004-03-29 12:55:48
哪为兄弟能告诉我,当我在窗体创建是RegisterHotKey后,我隐藏了窗体,我想用一个热键呼出(比如F12),不知下面的代码该怎么写?望高手指点!
最后是否 还要unRegisterHotKey?
...全文
40
2
打赏
收藏
注册热键问题?
哪为兄弟能告诉我,当我在窗体创建是RegisterHotKey后,我隐藏了窗体,我想用一个热键呼出(比如F12),不知下面的代码该怎么写?望高手指点! 最后是否 还要unRegisterHotKey?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
谢谢:)
易语言
热键
注册
热键
源码例程
4. **解除
注册
热键
**:为了释放系统资源,当不再需要使用
热键
时,需要使用`解除
注册
热键
`命令来取消
注册
。这可以防止程序退出后
热键
依然生效,导致系统冲突。通常在程序关闭或切换到其他功能时执行。 在`content....
易语言源码易语言
注册
热键
的应用源码.rar
易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar 易语言源码易语言
注册
热键
的应用源码.rar ...
易语言
注册
多个
热键
在易语言中,
注册
热键
是一项常见的功能,可以让用户通过快捷键快速触发程序的特定操作。下面我们将详细探讨如何在易语言中
注册
多个
热键
,并理解相关知识点。 首先,我们要了解
热键
的基本概念。
热键
,又称快捷键或...
易语言
注册
热键
(支持多
热键
).
在易语言中,"
注册
热键
"是一个常见的功能,用于实现程序响应用户自定义的快捷键操作,提升软件的使用效率。在给定的标题和描述中,“易语言
注册
热键
(支持多
热键
)”指的是易语言中实现
注册
多个
热键
的模块或代码。 在...
易语言
注册
热键
模块
在易语言中,"
注册
热键
模块"是一个非常实用的功能,它允许程序员为应用程序定义快捷键,使得用户可以通过按下特定的键组合来触发相应的操作,提高交互体验。
注册
热键
模块源码是指用于实现这一功能的源代码,它包含...
Windows SDK/API
1,183
社区成员
22,328
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章