修改當前進程訪問權限代碼

BOOL fOk = FALSE;    // Assume function fails
   HANDLE hToken;


   // Try to open this process's access token

//第二個參數指定你要進行的操作類型,如要修改訪問令牌的特權,我們要指定第二個參數爲TOKEN_ADJUST_PRIVILEGES
   if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, 
      &hToken)) {
      // Attempt to modify the given privilege
      TOKEN_PRIVILEGES tp;
      tp.PrivilegeCount = 1;
      LookupPrivilegeValue(NULL, szPrivilege, &tp.Privileges[0].Luid);
      tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0;
      AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
      fOk = (GetLastError() == ERROR_SUCCESS);


      // Don't forget to close the token handle
      CloseHandle(hToken);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章