Discussion:
Programm beim Schliessen neu starten
(zu alt für eine Antwort)
Stefan Czech
2004-04-19 11:25:46 UTC
Permalink
Hi.

Hab hier einen PC mit WinXP. Darauf läuft ein
Programm (der Einfachheit halber mal file.exe),
das eigentlich 24/7 auf dem PC laufen sollte.
Immer wieder kommt es aber vor, dass sich das
Programm (warum auch immer) ohne Fehlermeldung/etc.
selbst beendet.

Ich bin nun auf der Suche nach einer Möglichkeit,
die Datei file.exe automatisch neu zu starten, sobald
die Datei beendet wurde (bzw. sich selbst beendet).
Welches Programm/Tool/etc würde hier helfen?
Oder kann WinXP das selbst?

MfG
S.C
Jörg Ott
2004-04-19 11:54:29 UTC
Permalink
Post by Stefan Czech
Hi.
Hab hier einen PC mit WinXP. Darauf läuft ein
Programm (der Einfachheit halber mal file.exe),
das eigentlich 24/7 auf dem PC laufen sollte.
Immer wieder kommt es aber vor, dass sich das
Programm (warum auch immer) ohne Fehlermeldung/etc.
selbst beendet.
Ich bin nun auf der Suche nach einer Möglichkeit,
die Datei file.exe automatisch neu zu starten, sobald
die Datei beendet wurde (bzw. sich selbst beendet).
Welches Programm/Tool/etc würde hier helfen?
Batchdatei als "Geplanten Task":

@echo off
pslist file
if errorlevel 0 goto ende
start file.exe
:ende

pslist: www.sysinternals.com

oder sowas:
http://www.kwakkelflap.com/watchdog.html
Post by Stefan Czech
Oder kann WinXP das selbst?
Nein.
--
Gruß Jörg
Markus Strehlau
2004-04-19 12:08:16 UTC
Permalink
Post by Jörg Ott
Post by Stefan Czech
Ich bin nun auf der Suche nach einer Möglichkeit,
die Datei file.exe automatisch neu zu starten, sobald
die Datei beendet wurde (bzw. sich selbst beendet).
Welches Programm/Tool/etc würde hier helfen?
@echo off
pslist file
if errorlevel 0 goto ende
start file.exe
:ende
pslist: www.sysinternals.com
Wie wärs mit dem Parameter /wait im start-befehl. Dies erspart doch
eigentlich den Aufruf von pslist. Das folgende kleine Batchfile tut das
gewünschte:

@echo off
:loop
start /wait file.exe
goto loop

Der Aufruf muss auch nicht über geplante Task erfolgen, sondern kann
einmal manuell oder im Autostart-Ordner erfolgen, das das Batch endlos
läuft.

Markus
Andreas Viehrig
2004-04-19 12:15:16 UTC
Permalink
pslist...
...
...oder mal "tasklist /?" in der Kommandozeile versuchen.
Post by Stefan Czech
Oder kann WinXP das selbst?
Nein.
Was ist denn tasklist dann bitte?
--
Servus, Andi
end - Dieser Text wurde erstellt mit Hilfe eines freifliegenden Drachen.
Hilft bei nicht existenten Anhängen u.v.m.: http://mozilla.kairo.at
Stefan Franz
2004-04-20 07:19:59 UTC
Permalink
Hallo Jörg Ott <***@gmx.de>:

ich bin gerade auf der Suche nach genau der invertierten Funktion:

Unter XP:
Ich möchte gerne auf eine .jpg Datei mit rechter Maustaste klicken und
"öffnen mit" Photo Paint 11 ausführen. Photo Paint 11 hat aber die
Angewohnheit, daß es mit diesem Bild neu startet, obwohl es schon
offen ist. (es sollte, wenn schon offen, einfach das Bild hinzladen.)

Gibt´s da irgendwie den Umweg über eine Batchdatei oder so, die Photo
Paint 11 nur startet, wenn es nicht schon läuft?
Post by Jörg Ott
Post by Stefan Czech
Hi.
Hab hier einen PC mit WinXP. Darauf läuft ein
Programm (der Einfachheit halber mal file.exe),
das eigentlich 24/7 auf dem PC laufen sollte.
Immer wieder kommt es aber vor, dass sich das
Programm (warum auch immer) ohne Fehlermeldung/etc.
selbst beendet.
Ich bin nun auf der Suche nach einer Möglichkeit,
die Datei file.exe automatisch neu zu starten, sobald
die Datei beendet wurde (bzw. sich selbst beendet).
Welches Programm/Tool/etc würde hier helfen?
@echo off
pslist file
if errorlevel 0 goto ende
start file.exe
:ende
pslist: www.sysinternals.com
http://www.kwakkelflap.com/watchdog.html
Post by Stefan Czech
Oder kann WinXP das selbst?
Nein.
--
Viele Grüsse

Stefan Franz

newsAT1-mann-band-city-line.de - http://www.1-mann-band-city-line.de

Geht net, gibt´s net!
Jörg Ott
2004-04-20 07:58:34 UTC
Permalink
Post by Stefan Franz
Ich möchte gerne auf eine .jpg Datei mit rechter Maustaste klicken und
"öffnen mit" Photo Paint 11 ausführen. Photo Paint 11 hat aber die
Angewohnheit, daß es mit diesem Bild neu startet, obwohl es schon
offen ist. (es sollte, wenn schon offen, einfach das Bild hinzladen.)
Das geht nur, wenn PhotoPaint diese Funktion unterstützt. Normalerweise
ruft der Explorer eine DDE-Funktion auf, oder das Programm selbst sorgt
dafür, dass nur eine Instanz gestartet wird.
Post by Stefan Franz
Gibt´s da irgendwie den Umweg über eine Batchdatei oder so, die Photo
Paint 11 nur startet, wenn es nicht schon läuft?
Da fällt mir nur Drag and Drop ein.
--
Gruß Jörg
Andreas Viehrig
2004-04-20 07:56:58 UTC
Permalink
Post by Stefan Franz
Ich möchte gerne auf eine .jpg Datei mit rechter Maustaste klicken und
"öffnen mit" Photo Paint 11 ausführen. Photo Paint 11 hat aber die
Angewohnheit, daß es mit diesem Bild neu startet, obwohl es schon
offen ist. (es sollte, wenn schon offen, einfach das Bild hinzladen.)
Gibt´s da irgendwie den Umweg über eine Batchdatei oder so, die Photo
Paint 11 nur startet, wenn es nicht schon läuft?
Das Problem dabei ist nicht der Eintrag für das "Öffnen mit PhotoPaint"
im Kontextmenü (da könnte man auch ein Batch eintragen), sondern die
Tatsache, daß man das Bild kaum an das Programm übergeben kann, ohne das
Programm zu nennen. Das Programm selber bräuchte also eine Option der
Art "nur eine Instanz laden".

Sollte PhotoPaint das nicht können, schau Dir vielleicht mal IrfanView
an, mit dem geht das. Alternativ befinden sich auf den bei Zeitschriften
beiliegenden CDs immer auch mal ältere Versionen von Micrografx Picture
Publisher oder Paint Shop Pro, die können das auch.

BTW: ToFu ist bäh. Bitte lies:
http://www.einklich.net/usenet/zitier.htm
http://afaik.nimmich.org/usenet/faq/zitieren

[ToFu entsorgt]
--
Servus, Andi
end - Dieser Text wurde erstellt mit Hilfe eines freifliegenden Drachen.
Hilft bei nicht existenten Anhängen u.v.m.: http://mozilla.kairo.at
Alan Tiedemann
2004-04-20 07:58:18 UTC
Permalink
Post by Stefan Franz
Ich möchte gerne auf eine .jpg Datei mit rechter Maustaste klicken und
"öffnen mit" Photo Paint 11 ausführen. Photo Paint 11 hat aber die
Angewohnheit, daß es mit diesem Bild neu startet, obwohl es schon
offen ist. (es sollte, wenn schon offen, einfach das Bild hinzladen.)
Gibt´s da irgendwie den Umweg über eine Batchdatei oder so, die Photo
Paint 11 nur startet, wenn es nicht schon läuft?
Das ist seit zwei Tagen Thema in der *passenden* Newsgroup:
<news:***@4ax.com>.

Achja: TOFU ist böse. <http://learn.to/quote/> - Danke ;-)

Gruß,
Al *TOFU entsorgend* an
--
Bitte nur in die Newsgroup antworten! Re:-Mails rufe ich nur selten ab.
http://www.schwinde.de/webdesign/ ~ http://www.schwinde.de/cdr-info/
Mail: at__0815<at>hotmail<punkt>com ~ news-2003-10<at>schwinde<punkt>de
Andreas Viehrig
2004-04-19 12:17:21 UTC
Permalink
Post by Stefan Czech
Oder kann WinXP das selbst?
Jep, mach Dir ein Batch und passe es Deinen Bedürfnissen an:

REM --------------------------------------------------------------------
@Echo off

Tasklist | Find "file.exe"

If Errorlevel 1 Goto :Weiter1
If Errorlevel 0 Goto :Weiter2

:Weiter1
Echo.
Echo Weiter1 - nicht gefunden
Goto :Ende

:Weiter2
Echo.
Echo Weiter2 - gefunden

:Ende
Pause

REM --------------------------------------------------------------------

HTH.
--
Servus, Andi
end - Dieser Text wurde erstellt mit Hilfe eines freifliegenden Drachen.
Hilft bei nicht existenten Anhängen u.v.m.: http://mozilla.kairo.at
Rüdiger Sören
2004-04-19 16:17:38 UTC
Permalink
"Stefan Czech" schrieb...
Post by Stefan Czech
Ich bin nun auf der Suche nach einer Möglichkeit,
die Datei file.exe automatisch neu zu starten, sobald
die Datei beendet wurde (bzw. sich selbst beendet).
Welches Programm/Tool/etc würde hier helfen?
Oder kann WinXP das selbst?
Das kann XP selbst, wenn der Internet Explorer 6.0 installiert ist bzw.
VBScript 5.6. Dieses Skript startet z. B. den Notizblock von Windows:

Const wshRunning = 0, wshFinished = 1, wshFailed = 2
Dim wshShell

Set wshShell = CreateObject("WScript.Shell")

Do Until 1 + 1 = 1 ' warten auf Wunder, läuft bis in alle Ewischkeit
Call ExecProg("C:\Windows\NotePad.exe")
Loop ' oder jemand zieht den Stecker 'raus...


Sub ExecProg(strProg)
Dim wshExec

Set wshExec = wshShell.Exec(strProg)

Do
Wscript.Sleep 1000 ' eine sec nix tun
Loop While wshExec.Status = wshRunning
End Sub


Jetzt kannst Du NotePad.exe überhaupt nicht mehr beenden, es sei denn,
Du schiesst Wscript.exe über den Task-Manager ab. Das o.g. Skript
musst Du mit der Endung .vbs und einem von Dir gewählten Dateinamen (z.
B. Eternity.vbs) abspeichern.

~:>)
Rüdiger
Rüdiger Sören
2004-04-19 16:36:36 UTC
Permalink
"Rüdiger Sören" schrieb...
[...]

Das Ganze für Fortgeschrittene noch ein wenisch kürzer:


Const wshRunning = 0, wshFinished = 1, wshFailed = 2
Dim wshShell

Set wshShell = CreateObject("WScript.Shell")

Do Until 1 + 1 = 1 ' warten auf Wunder, läuft bis in alle Ewischkeit
Call ExecProg(wshShell.Exec("D:\Windows\NotePad.exe"))
Loop


Sub ExecProg(wshExec)
Do
Wscript.Sleep 1000 ' eine sec nix tun
Loop While wshExec.Status = wshRunning
End Sub


~:>)
Rüdiger
Lesen Sie weiter auf narkive:
Loading...