参考 // // SetPrivilege enables/disables process token privilege. // BOOL SetPrivilege(HANDLE hToken, LPCTSTR lpszPrivilege, BOOL bEnablePrivilege) { LUID luid; BOOL bRet=FALSE; if (LookupPrivilegeValue(NULL, lpszPrivilege, &luid)) { TOKEN_PRIVILEGE tp; tp.PrivilegeCount=1; tp.Privileges[0].Luid=luid; tp.Privileges[0].Attributes=(bEnablePrivilege) ? SE_PRIVILEGE_ENABLED: 0; // // Enable the privilege or disable all privileges. // if (AdjustTokenPrivileges(hToken, FALSE, &tp, NULL, (PTOKEN_PRIVILEGES)NULL, (PDWORD)NULL)) { // // Check to see if you have proper access. // You may get "ERROR_NOT_ALL_ASSIGNED". // bRet=(GetLastError() == ERROR_SUCCESS); } } return bRet; } API 比PermEdit更好
- 最新
- 最热
只看作者