003
25.06.2006, 17:26 Uhr
Tron
|
Hallo,
die PID und die Prozesse bekommst Du so.
C++: |
#include <vcl.h> #include <psapi.h> #include <iostream> #include <iomanip> #include <tchar.h>
using namespace std; void processName(DWORD);
void processAndId() { DWORD processes[1024]; DWORD buffer = 0; DWORD need = 0; DWORD process = 0; unsigned int i = 0;
buffer = sizeof(processes);
if(!EnumProcesses(processes, buffer, &need)) { return; } // ende if // Anzahl der ermittelten Prozesse. process = need / sizeof(DWORD); cout<<need<<endl;
for(i ; i < process; i++) { processName(processes[i]); } }
void processName(DWORD processID) { // THCHAR name[MAX_PATH = TEXT("unbekannt"); // Es werden nicht alle Prozesse mit ihrem Namen aufgelistet, // auch wenn dieser schon an anderer Stelle aufgelistet wird. TCHAR name[MAX_PATH]; HANDLE hProcess;
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
if(hProcess != NULL) { HMODULE hMod; DWORD need = 0;
if(EnumProcessModules(hProcess, &hMod, sizeof(hMod), &need)) { GetModuleBaseName(hProcess, hMod, name, sizeof(name)/ sizeof(TCHAR)); //cout<<"Test: "<<GetLastError()<<endl; } // ende if } // ende if cout<<"PID : "<<processID<<" "<<name<<endl; }
|
psapi.lib nicht vergessen.
Gruss Tron |