2个回答
展开全部
有一组API专门用于实现热键 RegisterHotKey
if (RegisterHotKey(this->GetSafeHwnd(),0,MOD_CONTROL | MOD_ALT,VK_F1) &&
RegisterHotKey(this->GetSafeHwnd(),1,MOD_CONTROL | MOD_ALT,VK_F2))
{
MessageBox("注册热键成功!");
}
else
{
MessageBox("注册热键失败!");
}
销毁热键用
if (UnregisterHotKey(this->GetSafeHwnd(),0) &&
UnregisterHotKey(this->GetSafeHwnd(),1))
{
MessageBox("卸载热键成功!");
}
else
{
MessageBox("卸载热键失败!");
}
这种方法设置热键需要处理消息 WM_HOTKEY
ON_MESSAGE(WM_HOTKEY,OnHotKey)
消息处理函数
LRESULT CHotKeyDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
if (wParam == 0)
{
MessageBox("Ctrl + Alt + F1 被按下");
}
else
{
MessageBox("Ctrl + Alt + F2 被按下");
}
return 1;
}
具体参数你可以通过MSDN或者网上查下。
if (RegisterHotKey(this->GetSafeHwnd(),0,MOD_CONTROL | MOD_ALT,VK_F1) &&
RegisterHotKey(this->GetSafeHwnd(),1,MOD_CONTROL | MOD_ALT,VK_F2))
{
MessageBox("注册热键成功!");
}
else
{
MessageBox("注册热键失败!");
}
销毁热键用
if (UnregisterHotKey(this->GetSafeHwnd(),0) &&
UnregisterHotKey(this->GetSafeHwnd(),1))
{
MessageBox("卸载热键成功!");
}
else
{
MessageBox("卸载热键失败!");
}
这种方法设置热键需要处理消息 WM_HOTKEY
ON_MESSAGE(WM_HOTKEY,OnHotKey)
消息处理函数
LRESULT CHotKeyDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
if (wParam == 0)
{
MessageBox("Ctrl + Alt + F1 被按下");
}
else
{
MessageBox("Ctrl + Alt + F2 被按下");
}
return 1;
}
具体参数你可以通过MSDN或者网上查下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询