@Safog und @all....task killen!help

@Safog und all!!!1

warum geht bei mir das net???

/****************************************************************************
Bestimmt das zum übergebenen Prozess-Exectuable gehörende Prozess-Handle
und gibt es zurück.
Übergabe
strProcessExe Prozess-Executable.
dwDesiredAccess Benötigter Prozess-Zugriff.
Rückgabe
Zugehöriges Handle oder NULL im Fehlerfall.
*****************************************************************************/
HANDLE GetProcessHandle( CString strProcessExe, DWORD dwDesiredAccess )
{
HANDLE hSnapShot; // System-Snap-Shot-Handle
PROCESSENTRY32 PEntry; // Process-Enumerations-Struktur
HANDLE hProcess; // Prozess-Handle
CString strExeFile; // Hilfssstring
BOOL bOK; // Abbruch-Flag
// Liste aller im System laufenden Prozesse erstellen
hSnapShot=::CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( hSnapShot==INVALID_HANDLE_VALUE )
// Fehler aufgetreten
return NULL;
// Prozess-Executable in Kleinbuchstaben wandeln
strProcessExe.MakeLower( );
// Prozess-Liste durchlaufen
PEntry.dwSize=sizeof( PEntry );
bOK=::stuck_out_tongue:rocess32First( hSnapShot, &amp:stuck_out_tongue_winking_eye:Entry );
for( ; bOK; bOK=::stuck_out_tongue:rocess32Next( hSnapShot, &amp:stuck_out_tongue_winking_eye:Entry )){

// Pozess-ID in Handle umwandeln
hProcess=::open_mouth:penProcess( dwDesiredAccess, FALSE, PEntry.th32ProcessID );
if( hProcess==NULL )
// Umwandlung misslungen
continue;
// Prozess-Executable in Kleinbuchstaben wandeln und prüfen
strExeFile=PEntry.szExeFile;
strExeFile.MakeLower( );
if( strExeFile.Find( strProcessExe )!=-1 )
// Passenden Prozess gefunden, Handle zurückgeben
return hProcess;
}
// Nichts Passendes gefunden
return NULL;
}

Damit kannst Du mit

TerminateProcess( GetProcessHandle( „test.exe“, PROCESS_TERMINATE ), 0 );

/*einen laufenden Prozess „test.exe“ beenden. Das gelingt aber nur, wenn der ausführende
Benutzer auch die entsprechenden Rechte besitzt. GetProcessHandle( … ) kehrt bei fehlenden
Rechten der einem anderen Fehler mit NULL zurück. Des Weiteren musst Du darauf achten, bei
der Executable keinen Pfad anzugeben.*/

er schreibt:
error: improper use of typedef HANDLE
error: statement missing; (auch bei dem handle)

hilf mir bitte!!!

email:
[email protected]

lg flasher

Hallo,

Dein Frageposting sieht ja aus wie Modem-Noise (@&&%!!!??). Ich habe keine Lust, mich mühsam durch Deinen „obfuscated“ Code zu wuseln. Poste doch bitte noch einmal Deine genau Frage in ganzen Sätzen und packe den Code in „pre“ Tags. Dann bleiben Einrückungen erhalten.

Gruß

Fritze

@Safog und all!!!1

warum geht bei mir das net???

Hallo!

Die Funktion stammt zwar von mir (http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…), Du musst aber schon genauer werden!! Wie rufst Du die Funktion auf, welches System, welche Entwicklungsumgebung…?

Hast Du auch die Anmerkung am Schluss beachtet: Ich zitiere:

„Das gelingt aber nur, wenn der ausführende Benutzer auch die entsprechenden Rechte besitzt. GetProcessHandle( … ) kehrt bei fehlenden Rechten oder einem anderen Fehler mit NULL zurück. Des Weiteren musst Du darauf achten, bei der Executable keinen Pfad anzugeben.“

Grüße Safog