
我用VC++编写了一段响应系统热键的程序段,但是只能在windows 98下运行,不能在windows XP中执行,代码如下:
在初始化函数中加入了一个注册系统热键的系统函数。
BOOL CHideDlg::onInitDialog()
{
......
......
RegisterHotKey(this->m_hWnd,0,0,VK_F12); // 注册系统热键
return TRUE; // return TRUE unless you set the focus to a control
}
//下面是响应热键的函数。
void CHideDlg::onHotkey()
{
ShowWindow(SW_SHOW);
this->SetForegroundWindow();
}
void CHideDlg::onButton1()
{
ShowWindow(SW_HIDE);
}
我并且在消息映射函数中加入了:
ON_MESSAGE(WM_HOTKEY,OnHotkey)