Operator_Jon
Erfahrenes Mitglied
Hi Leute,
ich habe eine Frage bezüglich einer C++ DLL die ich für ein Programm geschrieben habe welches nur C++ DLL's akzeptiert (leider, denn ich bin nicht gut in C++ )
Ich habe folgenden Code in einer Function um zu bestimmen ob ein bestimmter Prozess läuft:
Das ganze funktioniert auch sehr gut, leider aber nur (Vista/7) wenn man das Programm mit Admin-Rechten startet. Ist es irgendwie Möglich das gleiche zu erreichen ohne den Benutzer zu zwingen das Programm mit Admin Rechten zu starten?
Vielen Dank im Vorraus, ich hoffe ich habe mich verständlich genug ausgedrückt
Schönen Gruß,
Jonathan
ich habe eine Frage bezüglich einer C++ DLL die ich für ein Programm geschrieben habe welches nur C++ DLL's akzeptiert (leider, denn ich bin nicht gut in C++ )
Ich habe folgenden Code in einer Function um zu bestimmen ob ein bestimmter Prozess läuft:
C++:
__declspec(dllexport) int _stdcall isRunning(char *vName) {
string pName = vName;
unsigned long aProcesses[1024], cbNeeded, cProcesses;
if(!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
return -1;
cProcesses = cbNeeded / sizeof(unsigned long);
for(unsigned int i = 0; i < cProcesses; i++)
{
if(aProcesses[i] == 0)
continue;
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, aProcesses[i]);
char buffer[50];
GetModuleBaseName(hProcess, 0, buffer, 50);
CloseHandle(hProcess);
if(pName == string(buffer))
return 1;
}
return 0;
}
Das ganze funktioniert auch sehr gut, leider aber nur (Vista/7) wenn man das Programm mit Admin-Rechten startet. Ist es irgendwie Möglich das gleiche zu erreichen ohne den Benutzer zu zwingen das Programm mit Admin Rechten zu starten?
Vielen Dank im Vorraus, ich hoffe ich habe mich verständlich genug ausgedrückt
Schönen Gruß,
Jonathan
Zuletzt bearbeitet: