HOTKEY问题
「已注销」 2006-04-25 10:06:25 我定义了两个HOTKEY:
IDHotKey1 = GlobalAddAtom("registerHotKeyWindow1");
IDHotKey2 = GlobalAddAtom("registerHotKeyWindow2");
RegisterHotKey(hwnd, IDHotKey1, MOD_CONTROL|MOD_ALT, VK_F1);
RegisterHotKey(hwnd, IDHotKey2, MOD_CONTROL|MOD_ALT, VK_F2);
消息中如下处理:
case M_HOTKEY:
switch(wParam)
{
case IDHotKey1:
ShowWindow (hwnd, SW_SHOWNORMAL) ;
return 0;
case IDHotKey2:
ShowWindow (hwnd, SW_HIDE) ;
return 0;
}
编绎就这样:
D:\win32ѧϰ\123\123.c(207) : error C2051: case expression not constant
D:\win32ѧϰ\123\123.c(212) : error C2051: case expression not constant
Error executing cl.exe.
123.exe - 2 error(s), 0 warning(s)
说是什么类型不运行啊的,我查了MSDN上,wParam定义的是INT啊,GlobalAddAtom返回的也是INT,为什么会出现这个问题?
还有,我改成这样:
if(wParam==IDHotKey1)
{
ShowWindow (hwnd, SW_SHOWNORMAL) ;
return 0;
}
else{
ShowWindow (hwnd, SW_HIDE) ;
return 0;
}
就通过了,但是只是执行ELSE里的,HOTKEY1就冒得用了,为么事啊,望高手解答!
顺便想问一哈,任务管理器结束进程发送的是什么消息啊,我试了的,不是WM_QUERYENDSESSION和WM_ENDSESSION,SPY了一下,说是一个未知消息,有人知道么?先谢了!