Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi abgestürzten prozess erkennen ? (https://www.delphipraxis.net/2998-abgestuerzten-prozess-erkennen.html)

supermuckl 20. Feb 2003 18:22

jo also die processid krieg ich bestimmt anhand des service namens raus irgendwie.. getpidbyname und dann hab ich die pid und dann daraus das handle bestimmen.. so irgendwie stell ich mir das vor.. und wenn ich das handle des services hab kann ich ja die abfrage starten ob das ding noch lebt

Christian Seehase 22. Feb 2003 01:20

Moin Supermuckl,

auch wenn Du alle erforderlichen Daten hast bleibt noch das Problem, wonach Du entscheiden willst, ob der Prozess nun abgestürzt ist, oder nicht.
SendMessageTimeOut könnte da zwar helfen, aber man sollte dann auch die Geschwindigkeit des Rechners mit in die TimeOutzeit einrechnen, ansonsten würde ja auf einem langsamen Rechner der Prozess eher als "aufgehängt" gelten, als auf einem schnellen.

Luckie 22. Feb 2003 03:32

Wenn du die ProzessID hast, könnte man auch mit WaitForSingleObject da ran gehen.

Motzi 22. Feb 2003 16:33

Zitat:

Zitat von Chakotay1308
@Motzi: die ProcessID ist kein Problem, wenn man einen ProcViewer schreibt (Sorry, Assarbad). Wenn du ein Beispiel brauchst, findest du auf http://www.assarbad.org ein nonVCL-Programm (oder doch VCL... :?).

Chris

Ich hab schon meinen eigenen ProcViewer (www.x-spy.net) ;), aber was ich gemeint hab war, dass er nur mit der ProcID und ohne Fenster-Handle keine Möglichkeit hat SendMessageTimeOut einzusetzen. Und falls die Zielplattform eine NT-Version ist, und das Zielprog ein Service, dann könnte es überhaupt ein Problem mit den Messages geben, da die Fenster des Services (sofern es überhaupt welche hat) möglicherweise zu einer anderen WindowStation gehören.

@Luckie: gehtt ein Prozess-Objekt nicht erst dann in den signalisierten Zustand über, sobald der Prozess beendet ist, also wenn der letzte Thread des Prozesses terminiert ist (zumindest hab ich das jetzt so im Gedächtnis)?

Luckie 22. Feb 2003 16:36

Zitat:

Zitat von Motzi
@Luckie: gehtt ein Prozess-Objekt nicht erst dann in den signalisierten Zustand über, sobald der Prozess beendet ist, also wenn der letzte Thread des Prozesses terminiert ist (zumindest hab ich das jetzt so im Gedächtnis)?

Stimmt, das hatte ich übersehen. Da hatte ich mal wieder schneller getippt, als ich nachgedacht habe. :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 Uhr.
Seite 2 von 2     12   

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