Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programm (Prozessor) in dem Task-Manager beenden (https://www.delphipraxis.net/113832-programm-prozessor-dem-task-manager-beenden.html)

Delphiturbo 15. Mai 2008 11:45


Programm (Prozessor) in dem Task-Manager beenden
 
Hallo

ich verwende eine Kill-Funktion um ein Programm zu beenden
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
begin
KillProgram(nil,'projekt1.exe');
end;
Es funktioniert aber wenn das Programm in Hintergrund arbeitet (nur über Task-Manager sichtbar), dann schaffe ich mit der Funktion das Programm nicht zu beenden.

Welche Funktion ist fafür geeignet ?

Nuclear-Ping 15. Mai 2008 11:47

Re: Programm (Prozessor) in dem Task-Manager beenden
 
- Wie schaut "KillProgram" denn aus?
- Kannst du den gewünschten Prozess im Task-Manager manuell beenden?

Delphiturbo 15. Mai 2008 11:55

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Manual kann ich das Programm beenden
Projekt1.exe war nur ein Beispiel
Ich möchte ein beliebiges Programm in Task-Manager beenden

Meine Funktion funktioniert leider nur wenn ich den Programm-Pfad eingebe

toms 15. Mai 2008 11:56

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Zitat:

Zitat von Nuclear-Ping
- Wie schaut "KillProgram" denn aus?

Die Frage wurde noch nicht beantwortet.

Delphiturbo 15. Mai 2008 11:57

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Delphi-Quellcode:
procedure KillProgram(ClassName: PChar; Titre: String);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
Appli : HWND;
begin
Appli := FindWindow(PChar(ClassName), PChar(Titre));
GetWindowThreadProcessID(Appli, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;

Nuclear-Ping 15. Mai 2008 12:00

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Ja, dann sollte ja klar sein, warum das nur bei normalen Anwendungen funktioniert: Die Funktion arbeitet mit FindWindow.

Aber bei Bei Google suchendelphi kill process ist was dabei, was dir helfen sollte. ;)

Sharky 15. Mai 2008 12:06

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Hallo Delphiturbo.

Ich glaube es reicht jetzt! Wenn Du weiterhin in der DP fragen stellen möchtest arbeite bitte diese Punkte ab:
  1. Lerne Dich richtig auszudrücken
  2. Lerne die Grundlagen von Delphi
  3. Halte Dich daran was andere User (besonder Daniel) Dir sagen

Wenn Du hierzu nicht bereit bist solltest Du überlegen ob die DP das richtige Forum für dich ist!

Daniel 15. Mai 2008 12:10

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Zitat:

Zitat von Sharky
[...]Halte Dich daran was andere User (besonder Daniel) Dir sagen[...]

:love:

:mrgreen:

Wotan89 15. Mai 2008 12:30

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Das wäre eine mögliche Variante:

Delphi-Quellcode:
procedure Killprocess(Name:String);
var PEHandle,hproc:cardinal; PE:ProcessEntry32;
begin
PEHandle:=CreateTOOLHelp32Snapshot(TH32cs_Snapprocess,0);
if PEHandle<>Invalid_Handle_Value then
  begin
  PE.dwSize:=Sizeof(ProcessEntry32);
  Process32first(PEHandle,PE);
  repeat
  if Lowercase(PE.szExeFile)=Lowercase(Pchar(Name)) then
    begin
    hproc:=openprocess(Process_Terminate,false,pe.th32ProcessID);
    TerminateProcess(hproc,0);
    closehandle(hproc);
    break;
    end;
  until Process32next(PEHandle,PE)=false;
  end;
closehandle(PEHandle);
end;
.
.
Delphi-Quellcode:
KillProcess('Project1.exe'); // Beispielcode

Delphiturbo 15. Mai 2008 14:16

Re: Programm (Prozessor) in dem Task-Manager beenden
 
Keine schaft den Prozessor zu beenden !
auch diese Funktion :
KillTask


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz