Я создаю приложение типа диспетчера задач в C ++, и в настоящее время я использую:
`
void MyFrame::ProcChecker(bool showmessage=false){
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 *processInfo = new PROCESSENTRY32;
processInfo->dwSize = sizeof(PROCESSENTRY32);
int index = 0;
string procList = "";
while(Process32Next(hSnapShot,processInfo) != false){
HANDLE modSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, processInfo->th32ProcessID);
MODULEENTRY32 *moduleInfo = new MODULEENTRY32;
moduleInfo->dwSize = sizeof(MODULEENTRY32);
index++;
stringstream indexstr;
indexstr << index;
Module32First(modSnapShot,moduleInfo);
procList = procList + indexstr.str() + ": " + wxString((string)processInfo->szExeFile) + "[" + wxString((string)moduleInfo->szExePath) + "]" + "\r\n";
}
if(showmessage){
MessageBox(NULL,procList.c_str(),"Processes",false);
}
}
`
Проблема, с которой я сталкиваюсь, заключается в том, что многие процессы имеют ограниченный доступ, и я думаю, что мне нужно каким-то образом получить более высокие привилегии, чем у приложения в настоящее время. Я думаю, что это связано со мной, нуждающимся в создании драйвера режима ядра. Если бы кто-то мог указать мне правильное направление, это было бы очень признательно! :)
Я только начинаю на C ++, поэтому я понимаю, что мой текущий код, вероятно, ужасен: P