请高手帮忙如何给程序设置老板键
发布网友
发布时间:2022-04-29 10:14
我来回答
共2个回答
热心网友
时间:2022-06-26 01:04
VB那玩意太垃圾,我用起来不顺手,用MFC可以么?
呵呵,反正原理相通,万变不离其宗的~
用MFC中的HotKey控件就行,它是由CHotKeyCtrl类封装的。
你可以用下面的代码来获取用户设置的热键
WORD wVK = 0, wMod = 0;
m_HotKey.GetHotKey(wVK, wMod);
int nNewMod = 0;
if(wMod & HOTKEYF_ALT)
nNewMod |= MOD_ALT;
if(wMod & HOTKEYF_CONTROL)
nNewMod |= MOD_CONTROL;
if(wMod & HOTKEYF_CONTROL)
nNewMod |= MOD_CONTROL;
if(wVK == 0 || wMod == 0)
{
AfxMessageBox(L"Enter HotKey, Please!");
return;
}
然后用RegisterHotKey()函数向系统注册热键,具体用法如下所示:
RegisterHotKey(m_hWnd, 1, nNewMod, wVK);
然后要处理WM_HOTKEY消息,在消息处理函数中隐藏窗口,呵呵,这可不像在VB里,把窗体的Visable属性设置为False
在MFC中,要这样用:this->ShowWindow(SW_HIDE);
到这里,就实现了“老板键”功能,不过,这MFC代码,但愿你能看懂:)
还有一个不幸的消息,据我所知,VB里是没有HotKey控件的,囧~
你也可以在VB中调用API函数SetWindowsHookEx()来设置一个键盘钩子,也能实现,但更麻烦~
无论如何,希望能对你有所帮助,汗~
热心网友
时间:2022-06-26 01:04
什么是老板键?汗