系统高手请进

wx_zhang 2000-05-29 11:31:00
如何用Delphi实现在没有Form的情况下截获系统按键?如果不是需要的按键,还要再让系统接收。
...全文
200 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxjcsdn 2000-06-09
  • 打赏
  • 举报
回复
关注
linzy 2000-05-31
  • 打赏
  • 举报
回复
先定义一个窗口句柄如(FHandle:HWnd;),然后定义
procedure WndProc(var Message: TMessage);
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
这两个过程,在你的程序入口出写
FHandle := AllocateHWnd(WndProc);
出口处写
DeallocateHWnd(FHandle);
在过程WndProc的实现部分写入
Dispatch(Message);
在过程WMKeyDown的实现部分写入你要处理的程序。
wx_zhang 2000-05-30
  • 打赏
  • 举报
回复
有详细的例子吗?
radish 2000-05-29
  • 打赏
  • 举报
回复
用键盘HOOK即可
halfone 2000-05-29
  • 打赏
  • 举报
回复
建议你用键盘钩子。
ji_peng 2000-05-29
  • 打赏
  • 举报
回复
试试Windows Hook,不过需用WH_SYSMSGFILTER这个参数。
Lin 2000-05-29
  • 打赏
  • 举报
回复
同意radish。另外,如果只想监视一两个按键的话,可以试试:
1、使用RegisterHotKey注册一个HotKey;
2、处理窗口的WM_HOTKEY消息

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧