Wenn @AutoItX64=1 ist x64 in ein input feld schreiben

  • Hi @ All,
    ich versuche gerade ein programm zu erstellen das mir
    sagt ob ich Windows x32 oder x64 habe.
    Ich habe es vorläufig so gemacht:

    Spoiler anzeigen
    [autoit]

    $Form1 = GUICreate("Was habe ich für ein Betriebssystem?", 350, 40, 192, 124)
    $Input1 = GUICtrlCreateInput(@AutoItX64 , 8, 8, 233, 21)
    $Label1 = GUICtrlCreateLabel("0=x32", 248, 8, 33, 17)
    $Label2 = GUICtrlCreateLabel("1=x64", 288, 8, 33, 17)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]


    so das man weiß was 0 und was 1 heist. ich will aber das es wen bei @AutoItX64=1 erscheint das dann in den Input x64 geschrieben wird.

    das habe ich versucht scheitere aber da nichts in den input geschrieben wird.
    hier der code mit den funktionen:

    Spoiler anzeigen
    [autoit]

    $Form1 = GUICreate("Was habe ich für ein Betriebssystem?", 350, 40, 192, 124)
    $Input1 = GUICtrlCreateInput(@AutoItX64 , 8, 8, 233, 21)
    $Label1 = GUICtrlCreateLabel("0=x32", 248, 8, 33, 17)
    $Label2 = GUICtrlCreateLabel("1=x64", 288, 8, 33, 17)
    func _test()
    If @AutoITX64=1 Then
    GUICtrlSetData($Input1, "x64")
    EndIf
    endfunc

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

    func _test1()
    If @AutoITX64=0 Then
    GUICtrlSetData($Input1, "x32")
    EndIf
    endfunc

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    hoffe mir kan jemand helfen. gruß Roggazzz

  • Lösung
    [autoit]

    #include <GUIConstants.au3>

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

    $Form1 = GUICreate("Was habe ich für ein Betriebssystem?", 350, 40, 192, 124)
    $Input1 = GUICtrlCreateInput(@AutoItX64 , 8, 8, 233, 21)
    $Label1 = GUICtrlCreateLabel("0=x32", 248, 8, 33, 17)
    $Label2 = GUICtrlCreateLabel("1=x64", 288, 8, 33, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    ;_test() ; hier werden die Funktionen gestartet
    ;_test1()
    _test2()
    Sleep(20) ; wegen der Prozessorauslastung !
    WEnd

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

    ; am Ende die Funktionen. Sie müssen im Hauptprogramm aufgerufen werden.
    func _test()
    If @AutoITX64=1 Then
    GUICtrlSetData($Input1, "x64")
    EndIf
    endfunc

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

    func _test1()
    If @AutoITX64=0 Then
    GUICtrlSetData($Input1, "x32")
    EndIf
    endfunc

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

    ; ich würde die Funktionen in eine schreiben !
    func _test2()
    If @AutoITX64=1 Then
    GUICtrlSetData($Input1, "x64")
    Else
    GUICtrlSetData($Input1, "x32")
    EndIf
    endfunc

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • warum so kompliziert?

    [autoit]


    #include <guiconstants.au3>
    Dim $architektur
    $Form1 = GUICreate("Was habe ich für ein Betriebssystem?", 350, 40, 192, 124)
    If @AutoItX64=0 Then
    $architektur="32 Bit"
    ElseIf @AutoItX64=1 Then
    $architektur="64 Bit"
    EndIf
    $Input1 = GUICtrlCreateInput($architektur, 8, 8, 233, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    EDIT: zu langsam mal wieder

    • Offizieller Beitrag
    [autoit]


    Sleep(20) ; wegen der Prozessorauslastung !

    [/autoit]


    Im MessageLoop-Modus braucht man keinen Sleep-Befehl, im Gegenteil, der kann sogar dazu führen, dass z.B. ein Buttonklick nicht erkannt wird.
    GUIGetMsg sorgt schon dafür, dass die Prozessorlast nicht zu hoch wird.
    Der Sleep-Befehl in der Endlosschleife ist nur im OnEvent-Mode nötig.

  • man lernt nie aus 8o

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Das stimmt aber nicht ganz. Auch auf 64-bit Systemen kann man AutoIt als 32bit laufen lassen ;)

    [autoit]

    #include <guiconstants.au3>
    Dim $architektur
    $Form1 = GUICreate("Was habe ich für ein Betriebssystem?", 350, 60, 192, 124)
    $Input1 = GUICtrlCreateInput(@OSArch, 8, 8, 233, 21)

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

    Switch @AutoItX64
    Case True
    $AutoIt = "64bit"
    Case Else
    $AutoIt = "32bit"
    EndSwitch
    $Input2 = GUICtrlCreateInput("AutoIt-Interpreter: " & $AutoIt, 8, 30, 233, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]