在文章《获取进程模块的信息》中,由于当时不知道如何提升权限,所以无法获取更多的系统进程的信息,今天看到了一段代码,让我眼前一亮,不说废话了,代码如下:
BOOL EnableDebugPrivilege() { HANDLE hToken; BOOL fOk=FALSE; if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)) { TOKEN_PRIVILEGES tp; tp.PrivilegeCount=1; if(!LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid)) printf("Can't lookup privilege value.\n"); tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; if(!AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL)) printf("Can't adjust privilege value.\n"); fOk=(GetLastError()==ERROR_SUCCESS); CloseHandle(hToken); } return fOk; }
在程序中加入此函数,可以获取更多的系统进程的信息!
|