Run("C:\Windows\System32\quser.exe"...) und ShellExecute(...) funktionieren nicht

  • Ich versuche abzufragen, welche(r) User auf einem anderen Client (hier z.B. BLP5-WX) angemeldet ist. Im cmd-Fenster funktioniert das problemlos:

    In meinem Script bekomme ich sowohl bei Run() wie auch ShellExecute() eine Fehlermeldung, dass die Datei nicht gefunden werden konnte:

    Testweise habe ich es mit "C:\Windows\System32\cmd.exe" versucht, das funktioniert. Wo könnte das Problem bei der quser.exe liegen?

    Nachtrag: ich habe die quser.exe in c:\temp kopiert, da funktioniert es. Kann man von AutoIt nicht auf System32 zugreifen?

    :)

    Einmal editiert, zuletzt von HansJ54 (1. Mai 2023 um 15:41)

  • Moin,

    Du verwendest wohl AutoIt 32-Bit auf Windows 64-Bit. Bei 64-Bit Windows gibt es zwei Systemverzeichnisse:

    System32 für die 64-Bit Anwendungen und SysWOW64 für die 32-Bit Anwendungen.

    Wenn 32-Bit Anwendungen auf System32 zugreifen wollen, wird Ihnen stattdessen automatisch das Verzeichnis SysWOW64 untergeschoben. Für den Zugriff von 32-Bit Anwendungen auf das 64-Bit Systemverzeichnis gibt es den Aliasnamen SysNative.

    AutoIt
    MsgBox(0, "System32", FileExists(@WindowsDir & "\System32\quser.exe"))
    MsgBox(0, "SysNative", FileExists(@WindowsDir & "\SysNative\quser.exe"))
  • Danke, war mir nicht bekannt! Ich habe nach "SysNative" gegoogelt: demnach hast Du Recht.

    Aber bei den MsgBoxen kommt etwas anderes raus - wo ist mein Fehler?

    :)

  • Aber bei den MsgBoxen kommt etwas anderes raus - wo ist mein Fehler?

    Also bei mir läuft es :

    Beispiel :

    Hast Du, wie Velted vermutet, auf einem anderen Rechner getestet ?

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    Einmal editiert, zuletzt von Musashi (1. Mai 2023 um 19:00) aus folgendem Grund: typo

  • Also bei läuft es :

    Beispiel :

    Hast Du, wie Velted vermutet, auf einem anderen Rechner getestet ?

    Gleicher Rechner, wieder mit F5 aus dem SciTE gestartet! Dein Script funktioniert einwandfrei im Gegensatz zu meinem Test eben (Screenshots waren ja dabei). Habe die beiden Zeilen noch mal vor Deinem Script eingefügt und jetzt kommt auch dabei richtig 0 bei System32 und 1 bei SysNative. Keine Idee wieso.


    Funktioniert, auf jeden Fall vielen Dank für Eure Hilfe!

    :)