【API】Windows 程式提升許可權函數

來源:互聯網
上載者:User

標籤:size   應用   window   eva   last   控制代碼   etl   pen   close   

BOOL EnableShutdownPrivilege(){ HANDLE hProcess = NULL; HANDLE hToken = NULL; LUID uID = {0}; TOKEN_PRIVILEGES stToken_Privileges = {0}; hProcess = ::GetCurrentProcess(); //擷取當前應用程式進程控制代碼 if(!::OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken)) //開啟當前進程的存取權杖控制代碼(OpenProcessToken函數調用失敗傳回值為零) { return FALSE; } if(!::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&uID)) //擷取許可權名稱為"SeShutdownPrivilege"的LUID(LookupPrivilegeValue函數調用失敗傳回值為零) { return FALSE; } stToken_Privileges.PrivilegeCount = 1; //欲調整的許可權個數 stToken_Privileges.Privileges[0].Luid = uID; //許可權的LUID stToken_Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; //許可權的屬性,SE_PRIVILEGE_ENABLED為使能該許可權 if(!::AdjustTokenPrivileges(hToken,FALSE,&stToken_Privileges,sizeof stToken_Privileges,NULL,NULL)) //調整存取權杖裡的指定許可權(AdjustTokenPrivileges函數調用失敗傳回值為零) { return FALSE; } if(::GetLastError() != ERROR_SUCCESS) //查看許可權是否調整成功 { return FALSE; } ::CloseHandle(hToken); return TRUE;}

【API】Windows 程式提升許可權函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.