我定义了两个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了一下,说是一个未知消息,有人知道么?先谢了!
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了一下,说是一个未知消息,有人知道么?先谢了!
解决方案 »
- 主程序如何传递给参数给dll
- 最近学VC遇到瓶颈了,大家帮帮忙
- 为什么我的对话框程序中OnKeyDown没有反应?
- 我和老婆已经为孩子到底姓什么争论很长时间了,孩子已经一岁多了,但还没有名字,大家看怎么办,我是没辙了
- [急]http多线程下载的问题中CHttpFile::SendRequest()的问题
- 如何固定splitterwnd
- c++的数据调用问题????????????????????????????????????????????????
- 有有RAPID算法做碰撞检测的没?遇到一个问题.感觉不对啊
- 急问:如何创建一个WTL的非模式对话框?
- 用5行代码就让系统重起的帖子怎么找不着了?谁告诉我?加分了!!
- afxwnd42是什么窗口类?
- 一个关于Word 加载 ActiveX 显示图片的问题,请教高人
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;
}
How to use accelerator keys and a main menu on the dialog box in Visual C++
http://support.microsoft.com/kb/100770/en-us