void CQuickRunDlg::OnBnClickedAddBtn()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetDlgItemText(IDC_HOTKEY1,str);
WORD virtualcode,modifiers;
m_HotKey.GetHotKey(modifiers,virtualcode); if (!RegisterHotKey(m_hWnd,1005,modifiers,virtualcode))
MessageBox(_T("热键设置错误,可能重复了!"));
else
MessageBox(_T("热键设置成功!"));
// m_HotKey.
}void CQuickRunDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{ //自定义消息 WM_HOTKEY
if (wParam==1005)
{
UpdateData(TRUE); //执行
ShellExecute(this->m_hWnd,_T("open"),_T("notepad"),NULL,NULL,SW_SHOW);
}
}不知道哪错了,求教,以前用BCB好像也是这么写的,是不是那几个键值的错?
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetDlgItemText(IDC_HOTKEY1,str);
WORD virtualcode,modifiers;
m_HotKey.GetHotKey(modifiers,virtualcode); if (!RegisterHotKey(m_hWnd,1005,modifiers,virtualcode))
MessageBox(_T("热键设置错误,可能重复了!"));
else
MessageBox(_T("热键设置成功!"));
// m_HotKey.
}void CQuickRunDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{ //自定义消息 WM_HOTKEY
if (wParam==1005)
{
UpdateData(TRUE); //执行
ShellExecute(this->m_hWnd,_T("open"),_T("notepad"),NULL,NULL,SW_SHOW);
}
}不知道哪错了,求教,以前用BCB好像也是这么写的,是不是那几个键值的错?
void CQuickRunDlg::OnBnClickedAddBtn()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetDlgItemText(IDC_HOTKEY1,str);
WORD virtualcode,modifiers;
m_HotKey.GetHotKey(virtualcode,modifiers); if (!RegisterHotKey(m_hWnd,1005,modifiers,virtualcode)) //你这里写反了
MessageBox(_T("热键设置错误,可能重复了!"));
else
MessageBox(_T("热键设置成功!"));
// m_HotKey.
}
::RegisterHotKey(m_hWnd,9999,MOD_CONTROL | MOD_WIN, 'K'); //注册 ctrl + win + k
然后
LRESULT CAaaaDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
if (message==WM_HOTKEY)
{
if (wParam==9999)
{
MessageBox("ok");
}
}
return CDialog::WindowProc(message, wParam, lParam);
}