ユーザー権限でWin7(UACがオン)でアプリを実行すると。OS の再起動に成功するので、この場合、管理者権限は必要ありませんか? これを説明する公式文書はありますか?コメントをお待ちしております。
HANDLE hToken = NULL;
LUID luid;
BOOL bRet = OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken);
bRet = LookupPrivilegeValue(L"", SE_SHUTDOWN_NAME, &luid);
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
bRet = AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, 0);
bRet = ExitWindowsEx(EWX_REBOOT|EWX_FORCE, 0);