添加项目文件。
This commit is contained in:
23
sleep_duck/tools.cpp
Normal file
23
sleep_duck/tools.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
#include "tools.h"
|
||||
namespace Tools {
|
||||
auto Is64BitPorcess(HANDLE hProcess) -> bool {
|
||||
BOOL bIsWow64 = false;
|
||||
IsWow64Process(hProcess, &bIsWow64);
|
||||
return bIsWow64 == false;
|
||||
}
|
||||
auto EnableDebugPrivilege(bool bEnable) -> bool {
|
||||
bool fOK = FALSE; // Assume function fails
|
||||
HANDLE hToken;
|
||||
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES,
|
||||
&hToken)) {
|
||||
TOKEN_PRIVILEGES tp;
|
||||
tp.PrivilegeCount = 1;
|
||||
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
|
||||
tp.Privileges[0].Attributes = bEnable ? SE_PRIVILEGE_ENABLED : 0;
|
||||
AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
|
||||
fOK = (GetLastError() == ERROR_SUCCESS);
|
||||
CloseHandle(hToken);
|
||||
}
|
||||
return fOK;
|
||||
}
|
||||
}; // namespace Tools
|
||||
Reference in New Issue
Block a user