Thema: Delphi Anderes Programm beenden

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.137 Beiträge
 
Delphi 12 Athens
 
#6

AW: Anderes Programm beenden

  Alt 21. Mai 2020, 14:07
Du kannst es mit deinem eigenen Programm gern ausprobieren.

Denn es ist auch im Taskmanager der Unterschiet zwischen den Tabs "Prozesse" und "Details".
In Prozesse wird ein WM_CLOSE ans Hauptfenster WM_QUIT an den Prozess (Hauptthread) gesendet,
während in Details ein TerminateProcess ausgeführt wird.

Und ein Klick auf's [X], bzw. das Schließen im Taskleisten-Button sendet das WM_CLOSE ans dortige Fenster. (in uralten Delphis, bzw. bei Application.MainFormOnTaskbar=False, landet das von der Taskleiste nicht im MainForm.Handle, sondern geht an Application.Handle)



Entweder du merkst dir vom MSDN-Library durchsuchenCreateProcess das ProzessHandle oder die ProzessID
oder via MSDN-Library durchsuchenGetProcessTimes bekommst du die Startzeit.


Wenn deine Variablen compilerabhängige "Strings" sind, warum machst du es dir nicht einfach und nimmst dafür auch die compilerabhängigen Typen und Funktionen?
Delphi-Quellcode:
  // nicht die W/Wide oder A/Ansi, sondern die OHNE
  ...
  ShExecInfo.lpFile := PChar(Filename);
  ShExecInfo.lpParameters := PChar(Para);
  ShExecInfo.lpDirectory := PChar(ExtractFileDir(Filename));
  ...
  Result := ShellExecuteEx(@ShExecInfo);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Mai 2020 um 14:16 Uhr)
  Mit Zitat antworten Zitat