为了防止用户在任务栏关闭程序,添加了
case ShareVars.WM_SYSCOMMAND: //0x0112:
{
if (m.WParam.ToInt32() == ShareVars.SC_CLOSE) // 任务栏关闭程序
{
ICModelAdminLogin adminloginModel = new ChildModelAdminLogin();
ICViewAdminLogin adminlogin = new ChildForm_AdminLogin();
new ChildServiceAdminLogin(adminloginModel, adminlogin);
adminlogin.ShowDialog();
if (adminlogin.Result == System.Windows.Forms.DialogResult.OK)
{
base.DefWndProc(ref m);
}
}
}
break;
测试中发现,屏幕不再休眠了。
纠结了半天,在MSDN上找到。
An application can carry out any system command at any time by passing a WM_SYSCOMMAND message to DefWindowProc. AnyWM_SYSCOMMAND messages not handled by the application must be passed to DefWindowProc. Any command values added by an application must be processed by the application and cannot be passed to DefWindowProc.