Hallo,
ich habe folgendes vor.
ich habe ein AutoIT Script in dem ich überprüfen möchte ob ein Benutzer an einem PC angemeldet ist.
Wir machen das an anderen stellen mit einer kleinen batch-datei und folgendem code
tasklist.exe /S %PCNAME% /V | %SystemRoot%\system32\find.exe /i "explorer"
if /i not %errorlevel%.==0. (
echo..*Kein Explorer-Task gefunden.
) else (
rem goto done
)
Jetzt stehe ich nur vor der frage wie rufe ich das aus, um den richtigen rückgabewert zu erhalten.
Wenn ich es wie folgt auf rufe
[autoit]if RunWait("tasklist.exe /S "&$PCNAME&" /V | \\"&$PCNAME&"\system32\find.exe /i 'explorer'") = True Then
msgbox(0,"","User ist angemeldet, ABBRUCH")
Return
Endif
Dann bekomme ich immer true zurück.
Jetzt habe ich mir überlegt ob ich es evtl als cmd line ausführe und von da einen Wert erhalte. Jedoch hab ich keine Idee wie ich den Wert an mein autoit script zurückgeben kann.
ich bin der Meinung das ich es mit
[autoit]RunWait(@Comspec & "tasklist.exe /S "&$PCNAME&" /V | \\"&$PCNAME&"\system32\find.exe /i 'explorer'")
[/autoit]aufrufen kann,
und auch mit
_RunDos("tasklist.exe /S "&$PCNAME&" /V | \\"&$PCNAME&"\system32\find.exe /i 'explorer'")
[/autoit]
wie gesagt fehlt mir bei allen Lösungsansätzen der weg zurück da der exitcode und auch der errorcode immer 0 sind.
Ich wäre echt dankbar, wenn mich jemand in die richtige Richtung schubsen könnte.
Viele Grüße
crdy