-1
사용자 권한으로 Win7 (UAC가 켜짐)에 내 App을 실행할 때. OS를 성공적으로 재부팅 할 수 있습니다.이 경우 관리자 권한이 필요하지 않습니까? 이것을 설명하는 공식 문서가 있습니까? 모든 의견을 부탁드립니다.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);
귀하의 궁금한 점은 무엇입니까? 코드가 작동합니까? 그렇지 않다면 작동하지 않는 것은 무엇입니까? 오류가 있습니까? 코드가 작동하면 "왜 작동합니까?"라고 묻는 중입니까? 네가 우리 한테 뭘 묻는 지 모르겠다. –
나는 그것이 작동한다는 것을 의미한다. 그러나이 작업에 관리자 권한이 필요하다고 생각하므로 정상적인 사용자 권한으로 위의 코드와 같이 작동 할 수도 있습니다. 따라서 UAC가 통과됩니까? –
시스템을 재부팅하거나 종료 할 때 관리자 권한이 필요하지 않습니다. 정상적인 사용자는 재부팅하거나 올바르게 종료 할 수 없으며 전원 코드 만 뽑을 수 있습니다. –