HANDLE hToken;LUID sedebugnameValue;TOKEN_PRIVILEGES tp;
BOOL EnableDebugPrivilages(){ if (!::OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { return FALSE; } if (!::LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue )) { ::CloseHandle( hToken ); return FALSE; } tp.PrivilegeCount = 1; tp.Privileges[0].Luid = sedebugnameValue; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if(AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL )) { ::CloseHandle(hToken); return FALSE; } return TRUE;}