while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
解决方案 »
- IOCP关闭socket问题啊,怎么这么麻烦啊!!
- 如何等待一个线程结束
- 线程中如何设定定时器?
- 请问如何搜索目录?
- 还是关于昨天的问题,既结构的内存实际分配与预计的内存分配不符的问题。非常感谢
- 如何执行程序
- 如何能过编程识别系统中的CPU是AMD的?
- 关于VC6。0和VS2008开发MFC的ACTIVEX控件的问题。。
- VC如何通过OraHome92访问Oracle11g?
- 图像处理,多个opencv小程序,如何集成到一个windows窗体应用程序中,使用button按钮执行多个程序
- 用程序代替OutLook进行邮件合并,需要注意什么特殊规则,那里可以找到这方面的资料,希望有做过的高手详谈一下。
- 我应该选择哪个msdn?
采单的加速键,如果是,则发送WM_COMMAND or WM_SYSCOMMAND 到适当的
窗口程序。如果不是,则解释消息(TranslateMessage),在派送消息到各个
窗口(DispatchMessage)其中,hAccelTable 是加速键表的句柄,可用LoadAccelerators把表load 进来如此进行消息的循环处理
while(1){} 是个死循环,你的鼠标点击消息都失效了,如果 加入你的消息循环
while(1)
{
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}}
你的很多处理消息就可以执行了,比如点击鼠标就有效了