如何在基于对话框的MFC程序中阻止关机
我是这样实现的:重载了DefWindowProc函数,判断是不是WM_QUERYENDSESSION消息,如果是则返回0,自己实验时,程序检测到了关机消息,但并没有阻止关机,我的代码如下:
LRESULT CGetShutDownDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_QUERYENDSESSION:
char tmp[10];
sprintf(tmp,"wParam = 0x%x lParam = 0x%x",wParam,lParam);
if(lParam == 0)
{
::MessageBox(0,"收到关机或重启消息",tmp,MB_OK);
}
else
::MessageBox(0,"收到注销消息",tmp,MB_OK);
return 0;
case WM_ENDSESSION:
return 0;
}
return CDialog::DefWindowProc(message, wParam, lParam);
}
请教大家该如何实现?
LRESULT CGetShutDownDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_QUERYENDSESSION:
char tmp[10];
sprintf(tmp,"wParam = 0x%x lParam = 0x%x",wParam,lParam);
if(lParam == 0)
{
::MessageBox(0,"收到关机或重启消息",tmp,MB_OK);
}
else
::MessageBox(0,"收到注销消息",tmp,MB_OK);
return 0;
case WM_ENDSESSION:
return 0;
}
return CDialog::DefWindowProc(message, wParam, lParam);
}
请教大家该如何实现?
...全文
相关推荐
MFC的关机程序的实现
**资源管理**:MFC提供了对资源如图标、菜单、对话框等的管理。在创建关机程序时,可能需要定义一个对话框来显示关机倒计时,或者设置一个图标来表示程序。3.
定时关机源代码,采用vc实现
通过MFC,我们可以利用其提供的对话框、控件等组件来构建用户界面,接受用户设定的关机时间。
基于单文档的MFC,建立对话框
**二、对话框类的生成**1. 有了对话框资源后,我们可以在类视图中右键点击MFC应用程序的命名空间,选择“添加类”。在模板列表中选择“MFC类”,然后选择“从对话框派生类”。2.
MFC基于对话框的基础操作(含程序的登陆注册)
此外,可能还涉及到了对话框的模态与非模态状态,模态对话框会阻止用户与父窗口交互,而非模态对话框则允许同时进行多任务。
MFC对话框实例简单教程
总结来说,MFC对话框是构建Windows应用程序不可或缺的部分,掌握对话框的设计和使用对于开发高效且用户友好的应用程序至关重要。


