关于HOTKEY控件的使用
void CTextDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{ //自定义消息 WM_HOTKEY
if (wParam == 100)
{
MessageBox("这是热键呼叫出来的消息",NULL,MB_OK);
}
else
return;
}
void CTextDlg::OnOK()
{
WORD wKey =m_hotkey.GetHotKey();
AfxGetMainWnd()->SendMessage( WM_SETHOTKEY,wKey);
*/
CString str;
GetDlgItemText(IDOK,str);
if (str == "注册")
{
WORD wVirtualKeyCode;
WORD wModifiers;
m_hotkey.GetHotKey(wVirtualKeyCode,wModifiers);
if (RegisterHotKey(m_hWnd,100,wModifiers,wVirtualKeyCode) == TRUE)
{
SetDlgItemText(IDOK,"卸载");
MessageBox("热键注册成功");
}
else
MessageBox("键盘注册失败");
}
else if(str == "卸载")
{
if (UnregisterHotKey(m_hWnd,100)== FALSE)
{
SetDlgItemText(IDOK,"注册");
MessageBox("热键卸载成功");
}
else
MessageBox("热键卸载失败");
}
str.Empty();
}
//我用的是GetHotKey来获得控件中的热键,但是只能设置两个,如果设置三个就不行了...
//请问有没有什么函数来判断之类的,或如何改进!
//谢谢!!