當在Windows上執行程式時發生權限不足,這時就需要將程式執行權限提高至管理者權限。
BOOL EnablePrivilege() { BOOL bRet = FALSE; HANDLE hToken = NULL; TOKEN_PRIVILEGES tp; tp.PrivilegeCount = 1; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) //開啟程式調整權限 { if (LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid)) //查詢是否可調整權限 { AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL); //為程式提高 DEBUG 權限 bRet= (GetLastError() == ERROR_SUCCESS); } } if(hToken) CloseHandle(hToken);//確認是否執行成功 return bRet; }
沒有留言:
張貼留言