AutoIt v3 - Makro-Bug

  • Hallo!

    Ich habe heute einen Bug in den Makros festgestellt.

    [autoit]

    MsgBox(0, @UserName, @OSVersion)

    [/autoit]

    Das folgende gibt bei mir aus: Pennywise - WIN_VISTA.
    Alles soweit richtig, wenn ich das Script jedoch kompiliere, wird WIN_VISTA mitkompiliert, und bleibt als Text erhalten.
    Wenn ich also die kompilierte Version verschicke, steht dort, egal bei welchem Betriebssystem, die OS-Version der Kompilierers. ;)

    Gibt es einen alternativen Weg den Namen des Betriebssystems auszulesen?
    Any1 gotta snippet?

    Ich denke mal, es gibt einen entsprechenden Registry-Eintrag!

  • [autoit]

    $version = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion", "ProductName")
    $build = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion", "BuildLab")
    $productID = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion", 'ProductID')
    MsgBox(64, "", "OS: " & $version & @CRLF & "Build: " & $build & @CRLF & "ProductID: " & $productID)

    [/autoit]

    Bei mir tritt dieser Bug allerdings nicht auf. Kompiliert auf Win7 Ultimate x64 und ausgeführt auf WinXP Pro x86.

  • [autoit]

    $version = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion", "ProductName")
    $build = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion", "BuildLab")
    $productID = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion", 'ProductID')
    MsgBox(64, "", "OS: " & $version & @CRLF & "Build: " & $build & @CRLF & "ProductID: " & $productID)

    [/autoit]

    Bei mir tritt dieser Bug allerdings nicht auf. Kompiliert auf Win7 Ultimate x64 und ausgeführt auf WinXP Pro x86.

    Er macht es ja auch mit dem Makro

    [autoit]

    @OSVersion

    [/autoit]


    :thumbup:

  • Er macht es ja auch mit dem Makro

    [autoit]

    @OSVersion

    [/autoit]


    :thumbup:


    Das hat doch ideas2code auch gemacht.

    Pennywise: kannst du mal die Messagebox kompilieren und hochladen?
    Und teste mal diese Exe (XP MCE SP3,AutoIt 3.3.6.0 )

    Edit: Hast du das auf Vista und einem Windows7-System getestet? In älteren Autoit-Versionen werden beide als WIn_VISTA erkannt. Das hat sich seit 3.3.3.0 oder so geändert.

  • Ich meine damit, dass evtl, das Makro diese Macke hat!
    Also das @OSVersion den Fehler verursacht.
    Das er das selbe gemacht hab, weiß ich ja.

    Und das der Weg mit dem Registry-Key dann funktioniert. :thumbup:

  • Ich meine damit, dass evtl, das Makro diese Macke hat!
    Also das @OSVersion den Fehler verursacht.
    Das er das selbe gemacht hab, weiß ich ja.

    Und das der Weg mit dem Registry-Key dann funktioniert. :thumbup:


    Ich meine, dass ideas2code das Makro getestet hat und es bei ihm ohne Fehler funktoniert und keine Macke hat.