有谁知道如何注册Win键的快捷键???

Siney 2003-09-13 08:16:33
如何像Windows 的自带的Win+R这样快捷键呢?
我试了用RegisterHotKey不行,

请各位大侠告诉我如何注册Win+S的快捷键,我感激不尽?
...全文
58 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2003-09-14
  • 打赏
  • 举报
回复
使用RegisterHotKey,只能注册Control、Shift、Alt和另加另外一个键的组合键,对于其它
的组合键,必须用钩子才能实现。
jishiping 2003-09-14
  • 打赏
  • 举报
回复
static HHOOK hHook = NULL;
static LRESULT CALLBACK JourRecProc(int code,
WPARAM wParam, LPARAM lParam)
{
static bool WinDown = false;

EVENTMSG* pem = (EVENTMSG*)lParam;
if (code==HC_ACTION && pem->message
==WM_KEYDOWN) {
BYTE vKey = (BYTE)pem->paramL;
if (WinDown && vKey=='S') {
WinDown = false;
MessageBox(NULL, "你按下了Win+S",
"Test", MB_OK);
}
else
WinDown = vKey==VK_LWIN ||
vKey==VK_RWIN;
}
return CallNextHookEx(hHook, code,
wParam, lParam);
}

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
hHook = SetWindowsHookEx(WH_JOURNALRECORD,
(FARPROC)JourRecProc, HInstance, 0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
UnhookWindowsHookEx(hHook);
}
//---------------------------------------------------------------------------
Siney 2003-09-14
  • 打赏
  • 举报
回复
行了,感谢jsp,就是用RestierHotKey就可以,我以前使用VK_这样的名称,结果不行,现在直接使用'S'结果可以了。
jishiping 2003-09-14
  • 打赏
  • 举报
回复
你是说 RegisterHotKey(Handle, 0, MOD_WIN, 'S'); 吗?我在我的机器上试过了,可以的。
Siney 2003-09-14
  • 打赏
  • 举报
回复
没有道理啊,jsp上面的代码,我在我这里测试过了,就是不行
jishiping 2003-09-14
  • 打赏
  • 举报
回复
BCB的SDK帮助不全,看了一下头文件,其实是可以用RegisterHotKey来注册Win键和其它键
的组合键的。RegisterHotKey的第三个参数为MOD_WIN就可以了。
RegisterHotKey(Handle, 0, MOD_WIN, 'S'); //注册热键 Win+S
jishiping 2003-09-14
  • 打赏
  • 举报
回复
用日志钩子简单一些,不要写成DLL,但是对系统的开销比较大一些。当然最好还是直接使用
键盘钩子,不过那样需要单独写一个DLL,比较麻烦一些。
binbin 2003-09-14
  • 打赏
  • 举报
回复
用日志钩子就可以了?
不错不错.
52vc 2003-09-13
  • 打赏
  • 举报
回复
给的分太少了,就算要查,也要花时间了



--------------------------------------
相遇是缘,相知是份;
相思是爱,相守是情!
☆网络Φ旋男
---------------------------------------
binbin 2003-09-13
  • 打赏
  • 举报
回复
低级键盘钩子试过了不行吗?
Siney 2003-09-13
  • 打赏
  • 举报
回复
up

to binbin

我也不是万事通,不会的当然要向大家求教
tanbi52 2003-09-13
  • 打赏
  • 举报
回复
高处不胜寒啦
binbin 2003-09-13
  • 打赏
  • 举报
回复
猩猩也求人???
不容易啊~~~
binbin 2003-09-13
  • 打赏
  • 举报
回复
低阶键盘钩子试试?

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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