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了一下,说是一个未知消息,有人知道么?先谢了!


...全文
194 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2006-04-26
  • 打赏
  • 举报
回复
谢谢,解决!
lixiaosan 2006-04-26
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/msdnmag/issues/1200/c/default.aspx

Q100770:
How to use accelerator keys and a main menu on the dialog box in Visual C++
http://support.microsoft.com/kb/100770/en-us
limaolinghu 2006-04-26
  • 打赏
  • 举报
回复
#define CUSTOM_HOTKEY 1001

RegisterHotKey(hwnd, CUSTOM_HOTKEY, MOD_CONTROL|MOD_ALT, VK_F1);
RegisterHotKey(hwnd, CUSTOM_HOTKEY + 1, MOD_CONTROL|MOD_ALT, VK_F2);

...
case M_HOTKEY:
switch(wParam)
{
case CUSTOM_HOTKEY:

ShowWindow (hwnd, SW_SHOWNORMAL) ;

return 0;
case CUSTOM_HOTKEY + 1:
ShowWindow (hwnd, SW_HIDE) ;
return 0;
}
菜牛 2006-04-26
  • 打赏
  • 举报
回复
case中要求是常量,你可以加const定义

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧