ErrorLevel

Das ist eine interne Variable, die gesetzt wird, um den Erfolg oder Misserfolg einiger Befehle zu kennzeichnen (nicht alle Befehle ändern den Wert von ErrorLevel). Ein Wert von 0 zeigt für gewöhnlich Erfolg an, jeder andere Wert Misserfolg. ErrorLevel kann auch vom Benutzer selbst gesetzt werden.

Interessant ist, dass RunWait den ErrorLevel auf den Exit-Code des Programms setzt. Die meisten Programme liefern einen Exit-Code von 0, wenn sie erfolgreich durchgeführt wurden.

Jeder Thread behält seinen eigenen ErrorLevel-Wert. Soll heißen: Wenn der aktuelle Thread von einem anderen unterbrochen wird, hat der ursprüngliche Thread bei Wiederaufnahme immer noch seinen originalen ErrorLevel-Wert, nicht den des unterbrechenden Threads.

Hinweis: Wenn der ErrorLevel einen Wert höher als 1 enthält, dann sollte ErrorLevel darauf überprüft werden, ob er einen Wert ungleich 0 enthält.

Die folgende Liste enthält alle Befehle, Funktionen und GUI/Steuerelement-Ereignisse, die ErrorLevel setzen, einschließlich der möglichen ErrorLevel-Werte:

Sprachelement ErrorLevel-Werte
ClipWait0, 1
Control0, 1
ControlClick0, 1
ControlFocus0, 1
ControlGet0, 1
ControlGetFocus0, 1
ControlGetText0, 1
ControlMove0, 1
ControlSend / ControlSendRaw0, 1
ControlSetText0, 1
DllCall()0, -1, -2, -3, -4, n, An
Drive0, 1
DriveGet0, 1
EnvSet0, 1
EnvUpdate0, 1
FileAppend0, 1
FileCopy0, n
FileCopyDir0, 1
FileCreateDir0, 1
FileCreateShortcut0, 1
FileDelete0, n
FileGetAttrib0, 1
FileGetShortcut0, 1
FileGetSize0, 1
FileGetTime0, 1
FileGetVersion0, 1
FileInstall0, 1
FileMove0, n
FileMoveDir0, 1
FileRead0, 1
FileReadLine0, 1
FileRecycle0, 1
FileRecycleEmpty0, 1
FileRemoveDir0, 1
FileSelectFile0, 1
FileSelectFolder0, 1
FileSetAttrib0, n
FileSetTime0, 1
GroupActivate0, 1
Gui: GuiSize-Ereignis0, 1, 2
Gui: GuiDropFiles-Ereignis0, n
GuiControl0, 1
GuiControlGet0, 1
Gui-Steuerelement: Link-Click-EreignisZeichenkette
Gui-Steuerelement: Custom-Ereignis0, n
Gui-Steuerelement: ListView-Element-Änderungs-EreignisTeilmenge von "SsFfCc"
Hotkey0, 1, 2, 3, 4, 5, 6, 98, 99
ImageSearch0, 1, 2
IniDelete0, 1
IniWrite0, 1
Input0, 1, NewInput, Max, Timeout, Match, EndKey:Name
InputBox0, 1, 2
KeyWait0, 1
Menu0, 1
PixelGetColor0, 1
PixelSearch0, 1, 2
PostMessage0, 1
Process0, PID
RegDelete0, 1
RegExMatch()0, Zeichenkette, -n
RegExReplace()0, Zeichenkette, -n
RegRead0, 1
RegWrite0, 1
Run0, ERROR
RunWaitn, ERROR
SendMessageFAIL, n
SetWorkingDir0, 1
Sort: U-Option0, n
SoundGet0, Zeichenkette
SoundGetWaveVolume0, 1
SoundPlay0, 1
SoundSet0, Zeichenkette
SoundSetWaveVolume0, 1
StatusBarGetText0, 1
StatusBarWait0, 1, 2
StringGetPos0, 1
StringReplace0, 1, n
UrlDownloadToFile0, 1
WinGetText0, 1
WinMenuSelectItem0, 1
WinSet Style/ExStyle/Region0, 1
WinWait0, 1
WinWaitActive / WinWaitNotActive0, 1
WinWaitClose0, 1

Beispiele

Wartet maximal 1 Sekunde, bis MeinFenster existiert. Wenn WinWait das Zeitlimit überschreitet, wird ErrorLevel auf 1 gesetzt, ansonsten auf 0.

WinWait, MeinFenster,, 1
if ErrorLevel   ; also nicht leer oder 0.
    MsgBox, Das Fenster ist nicht vorhanden.
else
    MsgBox, Das Fenster ist vorhanden.