MFC关机、注销、重启

上传人:豆浆 文档编号:11121578 上传时间:2017-10-11 格式:DOC 页数:5 大小:33.50KB
返回 下载 相关 举报
MFC关机、注销、重启_第1页
第1页 / 共5页
MFC关机、注销、重启_第2页
第2页 / 共5页
MFC关机、注销、重启_第3页
第3页 / 共5页
MFC关机、注销、重启_第4页
第4页 / 共5页
MFC关机、注销、重启_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《MFC关机、注销、重启》由会员分享,可在线阅读,更多相关《MFC关机、注销、重启(5页珍藏版)》请在金锄头文库上搜索。

1、MFC关机、注销、重启一、 关机void CMainFrame:ShutDown() /获取操作系统信息 DWORD dwVersion = GetVersion(); if (dwVersion 0x80000000) / Windows NT HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) return; LookupPrivilegeValue(NULL, SE_SHUTDOWN_N

2、AME, &tkp.Privileges0.Luid); tkp.PrivilegeCount = 1; / one privilege to set tkp.Privileges0.Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0) return; else if (!ExitWindowsEx(EWX_SHUTDOWN | EWX

3、_FORCE, 0) return; 二、注销void CMainFrame:Logoff() /获取操作系统信息 DWORD dwVersion = GetVersion(); if (dwVersion 0x80000000) / Windows NT HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) return; LookupPrivilegeValue(NULL, SE_SHUTD

4、OWN_NAME,&tkp.Privileges0.Luid); tkp.PrivilegeCount = 1; / one privilege to set tkp.Privileges0.Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (!ExitWindowsEx(EWX_LOGOFF | EWX_FORCE, 0) return; else if (!ExitWindowsEx(EWX_LOGOFF | EWX

5、_FORCE, 0) return; 第三、重启void CMainFrame:Restart() /获取操作系统信息 DWORD dwVersion = GetVersion(); if (dwVersion 0x80000000) / Windows NT HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) return; LookupPrivilegeValue(NULL,SE_SHUT

6、DOWN_NAME, &tkp.Privileges0.Luid); tkp.PrivilegeCount = 1; / one privilege to set tkp.Privileges0.Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0) return; else if (!ExitWindowsEx(EWX_REBOOT | E

7、WX_FORCE, 0) return; ExitWindowsEX()函数用来退出、重启或注销系统。 函数原型: BOOL ExitWindowsEx( UINT uFlags, / 关闭参数 DWORD dwReserved / 系统保留,一般取 0 ); 参数 uFlagEWX_FORCE 强制终止进程。当此标志设置,Windows 不会发送消息WM_QUERYENDSESSION和 WM_ENDSESSION的消息给目前在系统中运行的程序。这可能会导致应用程序丢失数据。因此,你应该只在紧急情况下使用此标志。 EWX_LOGOFF关闭系统并关闭电源。该系统必须支持断电。 Windows

8、要求: Windows NT 中调用进程必须有 SE_SHUTDOWN_NAME 特权。 Windows 9X 中:可以直接调用。 EWX_REBOOT关闭系统,然后重新启动系统。 Windows 要求: Windows NT 中:调用进程必须有 SE_SHUTDOWN_NAME特权。 Windows 9X 中:可以直接调用。 EWX_SHUTDOWN关闭系统,安全地关闭电源。所有文件缓冲区已经刷新到磁盘上,所有正在运行的进程已经停止。 Windows 要求: Windows NT 中:调用进程必须有 SE_SHUTDOWN_NAME特权。 Windows 9X 中:可以直接调用。 备注ExitWindowsEx 函数返回后,启动了关闭(关闭或注销)。 在关机或登录操作中,应用程序在允许关闭的时间具体数额内回应关机请求。如果时间到期时,Windows 会显示一个对话框,允许用户强行关闭应用程序:关闭、重试,或取消关机要求。如果存在 EWX_FORCE指定值,Windows 会关闭应用程序而不显示该对话框。 Windows NT中:关闭或重新启动系统,调用进程必须使用AdjustTokenPrivileges函数使 SE_SHUTDOWN_NAME特权。Windows 95中:安全特权,不支持或需要。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号