Msg.exe unter Windows 7

  • Hallo Community,

    ich möchte auf meinem Windows7-PC eine Meldung über die msg.exe an mich selbst senden.
    Dabei gibt es jedoch ein Problem:
    Starte ich die cmd.exe und gebe dort msg.exe * Test ein, so wird wie gewollt die Nachricht gesendet.

    Nun wollte ich das auch per Skript machen:

    [autoit]

    Run ("C:\Windows\System32\cmd.exe /k msg.exe * Test", "C:\Windows\System32")

    [/autoit]


    Das funktioniert jedoch nicht. Es erscheint im CMD-Fenster die Fehlermeldung:
    "Der Befehl "msg.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden." ?(

    Ebenfalls funktioniert nicht:

    [autoit]

    Run ("C:\Windows\System32\msg.exe * Test")

    [/autoit]

    Kann mir jemand sagen wieso das nicht geht und wie ich es machen könnte?

    PS: #RequireAdmin hat auch nicht geholfen.

    MfG Xenon :)

    Einmal editiert, zuletzt von Xenon (1. September 2013 um 08:03)

  • Kann es sein, dass du unter einem 64Bit Windows arbeitest und dein Skript als 32Bit-Programm ausführst?
    Weil wenn ja wäre es klar warum das nicht klappt - die msg.exe gibt es unter SYSWOW64 nicht.

    Dann klappt übrigens auch ein Shellexecute nicht.

    So sollte es in jedem Fall klappen:

    Spoiler anzeigen
    [autoit]

    ; Umleitung für x86-Programm abschalten:
    DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Run(@WindowsDir & "\System32\msg.exe * Test")

    [/autoit]
  • AspirinJunkie: Deine Lösung hat funktioniert. Vielen Dank! :thumbup:

    Kann es sein, dass du unter einem 64Bit Windows arbeitest und dein Skript als 32Bit-Programm ausführst?

    Das war anscheinend der Fall. Ich habe das Skript einfach per Doppelklick auf die .au3-Datei geöffnet.
    Als ich das Skript als Exe (x64) compiliert hatte, hat auch mein Versuch funktioniert.

    Kann man vielleicht irgendwo einstellen, dass .au3-Skripts als x64 ausgeführt werden (wenn sie nicht compiliert sind)?

    MfG Xenon :)


  • Kann man vielleicht irgendwo einstellen, dass .au3-Skripts als x64 ausgeführt werden (wenn sie nicht compiliert sind)?
    MfG Xenon :)


    Tu mal das

    [autoit]

    #AutoIt3Wrapper_UseX64=y

    [/autoit]

    an den Anfang von deinem Skript. ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski