程序成功阻止了系统关机,但是程序自己运行结束了,为什么?

o1001 2010-01-13 05:16:26
我用程序实现了截获系统关机消息 WM_QUERYENDSESSION,并返回了0, 但是我的程序怎么也结束了?
我不想让程序结束。问题出在哪儿呢?

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
TCHAR szHello[MAX_LOADSTRING];
LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);

switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_QUERYENDSESSION:
return 0;
case WM_ENDSESSION:
return 0;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
...全文
318 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shen_wei 2010-01-14
  • 打赏
  • 举报
回复
那这样就不能调式了,关机前所有程序都关闭,你要截获所有消息
分析出来你这个程序的消息,系统在没有关这个程序时 就把系统关机的消息截获 并返回0
djjs280 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 o1001 的回复:]
只能在关机的时候才能运行到程序的这个逻辑里面,
但是关机时直接就已经把开发工具,编译器等都关闭了,怎么能够debug进去啊?
[/Quote]
虚拟机,OutputDebugString
o1001 2010-01-14
  • 打赏
  • 举报
回复
只能在关机的时候才能运行到程序的这个逻辑里面,
但是关机时直接就已经把开发工具,编译器等都关闭了,怎么能够debug进去啊?
dianhui 2010-01-13
  • 打赏
  • 举报
回复
同意楼上,最好把这个消息也拦截掉试试!
djjs280 2010-01-13
  • 打赏
  • 举报
回复
跟踪下系统是不是发了WM_DESTROY给你的程序
o1001 2010-01-13
  • 打赏
  • 举报
回复
怎么做才能使我的进程不被关闭呢?
aidy22 2010-01-13
  • 打赏
  • 举报
回复
可能被关掉了,因为关机之前会把系统所有的应用进程也关掉啊

16,548

社区成员

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

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

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