Windowsanwendung soll Errorlevel an Batch übergeben
Hallo, wenn es den Beitrag schon gibt, bin ich zu *** den Beitrag zu finden und bitte um Entschuldigung.
Also, ich starte unter XP ein Programm wo man ein Passwort eingeben muss, um Dateien zu entschlüsseln.
Das blöde ist das wenn ich einen Tippfehler gemacht habe sagt mir das Programm nicht "Passwort falsch!" sondern es versucht die Entschlüsselung durchzuführen.
Das dauert dann eine Ewigkeit und ich muss in der Regel vorzeitig mit STRG ALT DEL abbrechen.
Ich kann auch kein Passwort im Editor speichern und dann per copy paste das in die Eingabezeile einfügen. Dass macht das Programm nicht. Wahrscheinlich aus Sicherheitsgründen!?!?!?
Ich wollte nun eine Batch schreiben, die die Eingabezeile von diesem Programm überwacht und dann wenn das Passwort falsch ist vielleicht einen auftretenden errorlevel verarbeitet, der von diesem Fenster kommt und dann weitere Befehle ausführt.
Wenn so etwas machbar ist wäre es sehr schön wenn man mir einen Anreiz oder ein kleinen Tipp geben könnte wie ich so etwas bewerkstelligen soll.
Kurzum ich muss nur wissen, wie ich von einer Windowsanwendung (Eingabefenster) den Errorlevel auswerten kann und den dann an eine Batch übergeben kann.
Wenn so etwas mit Batch realisierbar ist.
Man hat mir mal gesagt: "Alles außer Brotschneiden geht per Batch!"
Also, ich starte unter XP ein Programm wo man ein Passwort eingeben muss, um Dateien zu entschlüsseln.
Das blöde ist das wenn ich einen Tippfehler gemacht habe sagt mir das Programm nicht "Passwort falsch!" sondern es versucht die Entschlüsselung durchzuführen.
Das dauert dann eine Ewigkeit und ich muss in der Regel vorzeitig mit STRG ALT DEL abbrechen.
Ich kann auch kein Passwort im Editor speichern und dann per copy paste das in die Eingabezeile einfügen. Dass macht das Programm nicht. Wahrscheinlich aus Sicherheitsgründen!?!?!?
Ich wollte nun eine Batch schreiben, die die Eingabezeile von diesem Programm überwacht und dann wenn das Passwort falsch ist vielleicht einen auftretenden errorlevel verarbeitet, der von diesem Fenster kommt und dann weitere Befehle ausführt.
Wenn so etwas machbar ist wäre es sehr schön wenn man mir einen Anreiz oder ein kleinen Tipp geben könnte wie ich so etwas bewerkstelligen soll.
Kurzum ich muss nur wissen, wie ich von einer Windowsanwendung (Eingabefenster) den Errorlevel auswerten kann und den dann an eine Batch übergeben kann.
Wenn so etwas mit Batch realisierbar ist.
Man hat mir mal gesagt: "Alles außer Brotschneiden geht per Batch!"
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68695
Url: https://administrator.de/contentid/68695
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
9 Kommentare
Neuester Kommentar
Und nach der Beschreibung beendet sich das Programm ja nie bei Falscheingabe, also kann es auch keinen Errorlevel zurückgeben, wenn etwas falsch eingegeben wurde.
Brotschneiden geht übrigens per Batch, wenn Deine Brotschneidemaschine einen Ethernet-Anschluss hat
Aber einen Programmfehler kann man nicht mit einer Batch beheben, eventuell mit einem Patch ...
Brotschneiden geht übrigens per Batch, wenn Deine Brotschneidemaschine einen Ethernet-Anschluss hat
Aber einen Programmfehler kann man nicht mit einer Batch beheben, eventuell mit einem Patch ...
Aber einen Programmfehler kann man nicht mit einer Batch beheben, eventuell mit einem Patch ...
Den muß ich mir merken - Danke!
Um mal nur die Frage zu beantworten:
Es gibt zwar kein direktes, von MS mitgeliefertes SendKey Utility, aber mit etwas VB-Skript lässt sich das schon machen.
Set wshshell = CreateObject("WScript.Shell")
call wshshell.SendKeys("Tastendrücke")
Diese zwei Zeilen als .vbs abspeichern und mit wscript name.vbs starten, dann werden Tastendrücke an das aktive Fenster geschickt.
ABER:
SendKey schickt an das aktive Fenster, egal welches das ist und wenn gerade eine Meldung hochpoppt, dann gehen die Tastendrücke halt sonstwohin.
Wenn das SendKey zu schnell geht und das Windowsprogramm das entsprechende Fenster noch nicht geöffnet hat, dann gehen die Tastendrücke auch sonstwohin.
-> Extremst Fehleranfällig das Ganze.
Bietet Acronis nicht eventuell eine Kommandozeilen-Tool, wo man alles per Parameter übergeben kann, so daß keine Nachfragen kommen?
Es gibt zwar kein direktes, von MS mitgeliefertes SendKey Utility, aber mit etwas VB-Skript lässt sich das schon machen.
Set wshshell = CreateObject("WScript.Shell")
call wshshell.SendKeys("Tastendrücke")
Diese zwei Zeilen als .vbs abspeichern und mit wscript name.vbs starten, dann werden Tastendrücke an das aktive Fenster geschickt.
ABER:
SendKey schickt an das aktive Fenster, egal welches das ist und wenn gerade eine Meldung hochpoppt, dann gehen die Tastendrücke halt sonstwohin.
Wenn das SendKey zu schnell geht und das Windowsprogramm das entsprechende Fenster noch nicht geöffnet hat, dann gehen die Tastendrücke auch sonstwohin.
-> Extremst Fehleranfällig das Ganze.
Bietet Acronis nicht eventuell eine Kommandozeilen-Tool, wo man alles per Parameter übergeben kann, so daß keine Nachfragen kommen?