Entwickler-Ecke
Windows API - Gleichnamige Prozesse beenden
schelle - Sa 05.03.05 20:16
Titel: Gleichnamige Prozesse beenden
Hallo zusammen
Ich habe folgendes Problem. Bei mir läuft ein lokaler Apache und der startet zwei gleichnamige Prozesse. Also zwei mal Apache exe im Task-Manager. Jetzt hab ich mir ein kleines Programm gebaut um Apache auf Knopfdruck wieder zu beenden. Geht auch nur mit dem Nachteil das man den Knopf zweimal drücken muss um beide Apaches auszuschalten. Ich benutze folgende Funktion die ich mit einem Button aufrufe.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| uses ShellAPI, TLHelp32;
function KillTask(const AExeName: string): boolean; var p: TProcessEntry32; h: THandle; begin Result := false; p.dwSize := SizeOf(p); h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0); try if Process32First(h, p) then repeat if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then Result := TerminateProcess(OpenProcess(Process_Terminate, false, p.th32ProcessID), 0); until (not Process32Next(h, p)) or Result; finally CloseHandle(h); end; end; |
Wie krieg ich die dazu beide Apaches zu beenden oder muss die Funktion anders aussehen?
Gruß, Schelle
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.Moderiert von
Tino: Topic aus Sonstiges verschoben am Mo 07.03.2005 um 01:25
wulfskin - Sa 05.03.05 20:21
Auch wenn es bei deinem Problem nicht weiterhilft: Bei meinem Apache Server war ein SysTray-Programm dabei, mit dem man die einzelnen Services starten/beenden kann. Vielleicht neue Software installieren?
schelle - Sa 05.03.05 21:56
Hi
Ja klar. ApacheMonitor. Hab ich schon auch. Aber ich möchte Apache, Mysql usw über eine eigene Oberfläche bzw ein eigenes Programm starten und beenden. Ein bissle aus Bequemlichkeit..... Und außerdem muss das doch irgendwie hinzukriegen sein.
Mein Aufruf für die Funktion ist übrigens
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button2Click(Sender: TObject); begin if not KillTask('apache.exe') then Showmessage('Prozess konnte nicht beendet werden.'); end; |
Habs schon mit allen Arten von Schleifen probiert aber irgendwie geht nix.
Schelle
Moderiert von
AXMD: Code- durch Delphi-Tags ersetzt.
schelle - So 06.03.05 10:12
Titel: Oh man...
Hat sich erledigt. War wohl zu dämlich....
Nu gehts. Trotzdem Danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!