社区
Windows SDK/API
帖子详情
注册热键问题?
Percy_ButtonS
2004-03-29 12:55:48
哪为兄弟能告诉我,当我在窗体创建是RegisterHotKey后,我隐藏了窗体,我想用一个热键呼出(比如F12),不知下面的代码该怎么写?望高手指点!
最后是否 还要unRegisterHotKey?
...全文
87
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
打赏
举报
回复
谢谢:)
winform中ShowInTaskbar设为false时,
注册
的
热键
失效的
问题
解决
最近一个项目需要实现通过
热键
控制界面的显示和隐藏的效果。抛开
热键
的
问题
,先来看界面的显示和隐藏,.net中通过以下两个方法实现: Code//隐藏窗体,并不在任务栏显示privatevoidHideCurrentForm(){WindowState=FormWindowState.Minimized;ShowInTaskbar=false;}...
VC++
热键
注册
这两天编程进行
热键
注册
时,遇到了一些
问题
,把它总结了一下,希望能为学习VC的人提供一点参考。一、
热键
注册
的步骤1、
热键
消息处理函数的声明在头文件中加入如下代码:afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);2、添加消息映射BEGIN_MESSAGE_MAP(CWndSnapDlg
实现一个
热键
注册
编辑的类
实现一个
热键
注册
编辑的类CST(http://blog.csdn.net/mrtechno) 2005-8-19 1 文档目的... 12
热键
编程基础... 12.1 API函数... 12.2 编程方法... 23 实现概述... 44 实现细节... 44.1 XML配置文档结构... 44.2
热键
编辑控件 ThotKeyEdit 54.3
热键
自定义窗体类TformHotKeyconf
远程注入dll中
注册
热键
函数原型如下 BOOL RegisterHotKey( HWND hWnd, // handle to window int id, // hot key identifier UINT fsModifiers, // key-mod
论文复现风光制氢合成氨系统优化研究(Python代码实现)
内容概要:本文围绕风光制氢合成氨系统的优化
问题
,通过复现相关学术论文并结合Python编程实现,构建了涵盖风能、光伏、电解水制氢及合成氨工艺的综合能源系统模型。研究重点在于对系统内多能流耦合关系进行建模,优化可再生能源的消纳与氢能生产调度,提升系统经济性与能源利用效率。文中详细阐述了系统架构设计、关键设备建模、目标函数设定及约束条件处理,并通过Python代码实现了优化求解过程,展示了完整的仿真流程与结果分析。; 适合人群:具备一定Python编程基础和能源系统知识,从事新能源、综合能源系统、氢能等领域研究的研发人员或高校研究生。; 使用场景及目标:①学习如何将风光耦合制氢与化工生产(合成氨)进行系统集成建模;②掌握基于Python的能源系统优化方法,如线性规划、混合整数规划等在综合能源调度中的应用;③复现并深入理解相关领域高水平学术论文的技术路线与实现细节。; 阅读建议:建议读者结合文中提供的代码与模型描述,动手实践并调试程序,重点关注目标函数构建与约束条件的数学表达,同时可扩展模型以适应其他类似多能互补系统的研究需求。
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章