1. BOOL AdjustProcessTokenPrivilege()
  2. {
  3. LUID luidTmp;
  4. HANDLE hToken;
  5. TOKEN_PRIVILEGES tkp;
  6. if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
  7. {
  8. AfxMessageBox(_TEXT("AdjustProcessTokenPrivilege - OpenProcessToken Failed , Error Code Is {0} , Error Message Is {1} ! \n"));
  9. return FALSE;
  10. }
  11. if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luidTmp))
  12. {
  13. AfxMessageBox(_TEXT("AdjustProcessTokenPrivilege - LookupPrivilegeValue Failed , Error Code Is {0} , Error Message Is {1} ! \n"));
  14. CloseHandle(hToken);
  15. return FALSE;
  16. }
  17. tkp.PrivilegeCount = 1;
  18. tkp.Privileges[0].Luid = luidTmp;
  19. tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  20. if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof(tkp), NULL, NULL))
  21. {
  22. AfxMessageBox(_TEXT("AdjustProcessTokenPrivilege - AdjustTokenPrivileges Failed , Error Code Is {0} , Error Message Is {1} ! \n"));
  23. CloseHandle(hToken);
  24. return FALSE;
  25. }
  26. return TRUE;
  27. }

 

版权声明:本文为RookieRoy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/RookieRoy/p/3599499.html