Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

.exe nach einer bestimmten Laufzeit beenden?

Empfohlene Antworten

Veröffentlicht

Ich bin auf der Suche nach einem Befehl o.ä. der in einer .cmd Datei eine exe aufruft und nach Beendigung der exe wieder schließt, es soll also kontrolliert werden, ob die exe Datei fertig ist, die .cmd Datei soll nicht abebrochen werden , also nicht zum Beispiel "stop 10:32".

Wie kann ich es schaffen, dass eine .exe nach einer bestimmten Laufzeit beendet wird? Gibt es sowas überhaupt? Es handelt sich um einen XP Client

Wie kann ich es schaffen, dass eine .exe nach einer bestimmten Laufzeit beendet wird? Gibt es sowas überhaupt? Es handelt sich um einen XP Client

Es gibt dir Möglichkeit, mit der Win API ein Programm zu starten und auf dessen Ende zu warten. Das geht über eine Schleife, da kann man also dann auch die Zeit prüfen. Beenden müsste auch gehen. Kann ich dir im Moment aber gar nich auswendig sagen, heute is der erste Tag nach dem Urlaub ;) CreateProcess is der API-Befehl (zum Starten zumindest).

Ob es sowas irgendwo gibt... keine Ahnung. Kannst es dir ja selber programmieren ;)

Boahh erstmal thx für die wirklich rasante Antwort!

Wenn du gerade aus dem Urlaub kommst ist das klar, ich hab dafür auch noch ein paar Tage Zeit, wäre super, wenn du es postest, wenn dir dazu noch was einfällt, ich habe mich mit der Win API auch noch sogut wie garnicht auseinander gesetzt, bei dir als FIAE wird das wohl anders sein...

Also hier hab ich mal nen Delphicode um sowas zu tun (da es sich vorallem um API aufrufe handelt, wird es leicht umzusetzen sein):



procedure StartProg(aPrg: String; aTimeOut: Integer);

var StartupInfo: TStartupInfo;

    ProcessInfo: TProcessInformation;

    TermStatus: LongWord;

begin

  FillChar(StartupInfo, sizeOf(TStartupInfo), 0);

  StartupInfo.cb:= SizeOf(TStartupInfo);

  //*** Programm starten

  if CreateProcess(nil, PChar(aPrg), nil, nil, False, NORMAL_PRIORITY_CLASS,

     nil, nil, StartupInfo, ProcessInfo) then

  begin

    //*** Warten bis Programm beendet ist, aTimeOut = Millisekunden die 

    //*** maximal gewartet werden sollen

    WaitForSingleObject(ProcessInfo.hProcess, aTimeOut);

    //*** Prüfen ob Programm noch läuft

    GetExitCodeProcess(ProcessInfo.hProcess, TermStatus);

    //*** Programm beenden

    if TermStatus = STILL_ACTIVE then

      TerminateProcess(ProcessInfo.hProcess, 0);

    //*** Handle wieder freigeben

    CloseHandle(ProcessInfo.hProcess);

  end;


end;


Alles ab //*** Prüfen ob Programm noch läuft hab ich noch nicht probiert, das ist alles nur theoretisch. Auch TerminateProcess ist nicht der bevorzugte Weg, ich hab aber auf die schnelle keinen anderen Weg gefunden (bzw. hab keine Ahnung, wie ich ExitProcess einsetze). So als Denkanstoss sollte das aber reichen hoff ich.

danke! Ja, gut, dass das nen Delphicode ist, da komme ich mit klar...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.