windows 关机 重启代码
啥都不想说 windows 关机 重启代码 直接一个函数调用
Code
1 #include <windows.h>
2
3 BOOL MySystemShutdown()
4 {
5 HANDLE hToken;
6 TOKEN_PRIVILEGES tkp;
7 if (!OpenProcessToken(GetCurrentProcess(),
8 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
9 return (FALSE);
10 LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
11 tkp.PrivilegeCount = 1;
12 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
13 AdjustTokenPrivileges(hToken,FALSE, &tkp,0,(PTOKEN_PRIVILEGES)NULL, 0);
14 if (GetLastError() != ERROR_SUCCESS) return FALSE;
15 if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0)) return FALSE;
16 return TRUE;
17 }
18 BOOL MySystemReboot()
19 {
20 HANDLE hToken;
21 TOKEN_PRIVILEGES tkp;
22 if (!OpenProcessToken(GetCurrentProcess(),
23 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
24 return (FALSE);
25 LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
26 tkp.PrivilegeCount = 1;
27 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
28 AdjustTokenPrivileges(hToken,FALSE, &tkp,0,(PTOKEN_PRIVILEGES)NULL, 0);
29 if (GetLastError() != ERROR_SUCCESS) return FALSE;
30 if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0)) return FALSE;
31 return TRUE;
32 }
1 #include <windows.h>
2
3 BOOL MySystemShutdown()
4 {
5 HANDLE hToken;
6 TOKEN_PRIVILEGES tkp;
7 if (!OpenProcessToken(GetCurrentProcess(),
8 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
9 return (FALSE);
10 LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
11 tkp.PrivilegeCount = 1;
12 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
13 AdjustTokenPrivileges(hToken,FALSE, &tkp,0,(PTOKEN_PRIVILEGES)NULL, 0);
14 if (GetLastError() != ERROR_SUCCESS) return FALSE;
15 if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0)) return FALSE;
16 return TRUE;
17 }
18 BOOL MySystemReboot()
19 {
20 HANDLE hToken;
21 TOKEN_PRIVILEGES tkp;
22 if (!OpenProcessToken(GetCurrentProcess(),
23 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
24 return (FALSE);
25 LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
26 tkp.PrivilegeCount = 1;
27 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
28 AdjustTokenPrivileges(hToken,FALSE, &tkp,0,(PTOKEN_PRIVILEGES)NULL, 0);
29 if (GetLastError() != ERROR_SUCCESS) return FALSE;
30 if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0)) return FALSE;
31 return TRUE;
32 }