connecthor
Goto Top

Fenster per Batch minimieren

Hallo und guten Morgen an alle!!!


Ich brauche eine Lösung für ein Problem bei uns. Wir haben ein Programm, das immer laufen muß. Leider ist dieses so schlecht programmiert, dass es ab und zu abstürzt.
Nun suche ich einen Weg, um zu schauen, ob das Programm läuft. Wenn nicht soll es gestartet werden und nach Zeit X in die Taskleiste minimiert werden.

für das suchen des Task nehme ich
tasklist /fi "windowtitle eq show*"   

abfrage mit errorlevel klappt auch nicht. Auch das minimieren bereitet mir zahnweh.

Gibt es eine Möglichkeit, das gestartete Fenster zu minimieren (ohne vbs)?

Danke

Content-ID: 158263

Url: https://administrator.de/contentid/158263

Ausgedruckt am: 19.11.2024 um 17:11 Uhr

60730
60730 10.01.2011 um 10:13:53 Uhr
Goto Top
Moin,

die Frage gabs doch kürzlich erst (wieder), ist Suchfunktion wieder im passiven Modus?

Start /min "dummytext" laufwerk:\pfad\werkzeug

Gruß
connecthor
connecthor 10.01.2011 um 10:26:51 Uhr
Goto Top
Moin TimoBeil,

SuFu habe ich schon heiß benutzt, aber das Ergebnis war nicht zufriedenstellend.
Das minimiert starten bei dem Programm geht nicht, da das Progi sich erst initialisieren muß. Das tut es aber nicht wenn es minimiert ist. face-sad
60730
60730 10.01.2011 um 11:08:12 Uhr
Goto Top
wenns so ist -nur via vbs oder über ganz krumme Wege, die ich weder nennen, noch du nehmen würde.
KowaKowalski
KowaKowalski 10.01.2011 um 12:01:00 Uhr
Goto Top
Zitat von @connecthor:
Moin TimoBeil,

SuFu habe ich schon heiß benutzt, aber das Ergebnis war nicht zufriedenstellend.
Das minimiert starten bei dem Programm geht nicht, da das Progi sich erst initialisieren muß. Das tut es aber nicht wenn es
minimiert ist. face-sad


Hi Thor,

dann meinst Du wohl eher still installieren und nicht minimiert starten.


mfg
kowa
connecthor
connecthor 10.01.2011 um 12:12:04 Uhr
Goto Top
Hi kowa

nee, installieren will ich da nix. das progi ist schon drauf. aber das muß halt laufen.
- ich muß also checken ob das ding läuft (so stündlich einmal)
- wenn nicht, muß ich das starten
- wenns startet darf das noch niht minimiert sein, da es nur "groß" initialisiert
- dann möcht ich es gern in der taskleiste ablegen

über den taskplaner hab ich mir das auch schon überlegt, aber das progie schießt sich immer unregelmäßig selber ab. und im schlimmsten falle 23.59h auf das ding zu warten kann ich nicht.

vielleicht nehm ich ja doch das vbs von Timo...
Nagus
Nagus 10.01.2011 um 22:28:13 Uhr
Goto Top
hi also ich habe was ähnliches mit pslist.exe von Sysinternals gelöst.
Wenn Du mit pslist.exe name einen Treffer hast, bekommst Du einen errorlevel 0, eine 1 wenn es nicht läuft.
Das ganze habe ich mit sleep.exe aus dem Windows ResKit verpackt und kann abhänging davon das ganze kontrollieren,

Wenn Du das ganze noch hübsch als Dienst verpackst bekommst Du das doch in ein paar Zeilen Batch hin ....

Nachfolgend mein code Schnipsel, wobei ich dann das Programm abschießen muss wenn es noch läuft .... face-wink

REM ++++++ Es wird xx min. gewartet und dann geprüft ob der Prozess noch läuft  +++++
echo.
echo   warte %sleep% min auf das Ende der Anwendung
echo.
echo   Start: %time:~0,8% Uhr
echo.
echo.
sleep 1200
pslist.exe blabla>nul
if "%errorlevel%"=="0" goto kill  

Gruß
Nagus
60730
60730 10.01.2011 um 22:45:57 Uhr
Goto Top
Salü Nagus,

ähmm - viele Werkzeuge vom Mark sind mittlerweile ähnlich auch mit Boardmitteln ersetzbar.
  • Das Tasklist das der TO da in seiner Frage schon beschreibt, würde ich für den Fall nicht gegen ein pslist tauschen wollen.
Sein Problem ist doch,das dieses zu überwachende Werkzeug nur einigermaßen ordentlich läuft, wenn es nicht minimiert gestartet wird, aber danach nur unnütz Platz auf dem Bildschirm verschwendet.

Und dagegen hilftdazu braucht man halt wirklich nur ein VBS....

Gruß
connecthor
connecthor 11.01.2011 um 10:41:42 Uhr
Goto Top
morgen,

ja Timo, richtig erkannt!!! "...unnütz Platz auf dem Bildschirm..." tasklist hab ich auch schon probiert. das würde auch so funzen, nur das minimieren fehlt halt noch.
Wie würdest du das mit VB machen? also alles als gesamtes?

Gruß

CThor
60730
60730 11.01.2011 um 15:16:10 Uhr
Goto Top
Moin,

ungefähr so:
wobei nicht jedes Programm das unterstützt, Itunes z.B kannst du so nicht "kleinkriegen".

Die Zahl hinter dem .sleep hab ich mal als groben Anhaltspunkt in den Topf geworfen.
  • je größer desto länger pausiert das Script
  • je länger es pausiert, desto wahrscheinlicher, das ein evtl. angemeldeter user in auf/ein anderes Fenster klickt und weil das dann im aktiven Fokus ist - die Tasten zum minimieren abbekommt.

set ws = CreateObject("Wscript.shell")  
ws.run("pbrush.exe")  
wscript.sleep 10000 
ws.sendkeys("%")  
ws.sendkeys(" ")  
ws.sendkeys("n")  

Wir sind uns daher einig, das nicht nur das sich dauernd abschiessende Programm Murks ist, sondern auch der von mir genannte Weg.

"Schöner" wärs ja - der Autor des Buggytools nimmt sich Zeit und fixt das, oder eine virtuelle Kiste (VM) läßt das Programm laufen - da macht der Platzbedarf auf dem Bildschirm ja eh nix.

Gruß