Sicher nur ein Tipp für die, die mit Computern auch
beruflich zu tun haben, denn gerade da sind die Zeiten von *.bat bzw. *.cmd noch nicht
vorbei, wenn es darum geht Prozesse zu automatisieren.
Nun gibt es aber Vorgänge, die sich einfach über ein Windowsprogramm leichter oder erst
überhaupt ermitteln lassen, nur wie bekommt man, ohne den Umweg, das Ergebnis erst in
eine Datei zu schreiben, das Ergebnis an den Batchprozess übermittelt.
Auch mir ist diese Funktion noch nicht lange bekannt und sie hat auch Grenzen, da der
Rückgabewert nur vom Typ Long sein kann, mit Strings ist hier nichts.
Aber dennoch, es ist ein Stück Erweiterung für Batchprozesse.
Zuerst einmal basteln wir uns eine Batchdatei, die unser Windowsprogramm starten und den
Rückgabewert auswerten soll.
Start.bat
@echo off
:: Start des Windowsprogramms
start /w errlevel.exe
::Rückgabewert auswerten
if errorlevel 50 goto 50
::kein Rückgabewert
echo Rckgabewert = nicht gesetzt
goto Fertig
::Rückgabewert 50
:50
echo Rckgabewert = 50
:Fertig
echo.
echo ENDE
Als nächstes unser Windowsprogramm.
Allgemein/Deklarationen
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
Form/Load
ExitProcess 50&
In unserem Beispiel wird lediglich der Rückgabewert gesetzt und das Programm sofort
wieder beendet. Die eigentliche Funktion, die hierher gehört, ist Ihnen überlassen.
Haben Sie dies erledigt, kompilieren Sie Ihr Projekt und vergeben den Namen Errlevel.exe
(oder passen den Namen in der Batchdatei an).
Starten Sie für einen Test eine DOS-Box und rufen Sie die Batchdatei auf.
Sie werden sehen, das Ihr Rückgabewert ausgewertet wird. |