Meine Button funktionieren leider nicht - woran liegt es.

  • Hallo zusammen,

    ich bastle gerade mit AutoIT ein Tool für einen Thin Client, dieser hat nach dem Start des Systemes nur diese kleine Auswahlbox, welche dabei entsteht wenn mein Skript ausgeführt wird. Jedoch funktionieren meine angelegen Buttons nicht. Kann sich das mal jemand anschauen. Ich muss noch dazu sagen ich bin erst vor ca. einer Woche auf AutoIT gekommen.

    Grüße

    da-alex

    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <GUIMenu.au3>

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

    _Main()

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

    Func _Main()
    Local $RemotedesktopID, $ShutdownID, $InternetID, $LogOffID

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

    $hForm = GUICreate("Evosoft Thin Client", 250, 175)
    $hMenu = _GUICtrlMenu_GetSystemMenu($hForm)
    _GUICtrlMenu_EnableMenuItem($hMenu, $SC_CLOSE, $MF_GRAYED, False)
    ; Erstellt die GUI (Auswahlfenster) mit Programmüberschrift

    $Pic = GUICtrlCreatePic(@ScriptDir & "\logo.jpg", 34, 0, 181, 65)
    ; Erstellt ein Bild in der GUI

    GUICtrlCreateLabel("Bitte wählen Sie aus!", 10, 75)
    ; Erstellt die Anweisung im GUI Fenster

    $RemotedesktopID = GUICtrlCreateButton("Remotedesktop", 10, 100, 90, 30)
    GUICtrlSetOnEvent($RemotedesktopID, "OnRemotedesktop"); Buttongröße und Ort in Pixel
    ; Erstellt den Button Remotedesktop

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

    $ShutdownID = GUICtrlCreateButton("X Shutdown X", 160, 100, 80, 30)
    GUICtrlSetOnEvent($ShutdownID, "OnShutdown") ; Buttongröße und Ort in Pixel
    ; Erstellt den Button Shutdown

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

    $LogOffID = GUICtrlCreateButton("<< LogOff >>", 160, 130, 80, 30)
    GUICtrlSetOnEvent($LogOffID, "OnLogOff") ; Buttongröße und Ort in Pixel
    ; Erstellt den Button Log Off

    $InternetID = GUICtrlCreatebutton("Internet", 10, 130, 90, 30)
    GUICtrlSetOnEvent($InternetID, "OnInternet"); Buttongröße und Ort in Pixel
    ; Erstellt den Button für die Internetnutzung

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

    GUISetState() ;Zeigt die GUI am Bildschirm an
    Do
    Until GUIGetMsg() = -3

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

    EndFunc ;==>_Main

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

    ;---------------- Function RDP ------------------------------
    Func OnRemotedesktop()
    MsgBox(0, "Remotedesktop", "Der Client startet nun die Remotedesktopverbindung zum Terminalserver!")
    ShellExecute ("C:\TS.rdp")
    ; Öffnet wie mit einen Doppelklick die via RDP abgespeicherte Verbindung
    EndFunc ;==>OnRemotedesktop

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

    ;---------------- Function Shutdown -------------------------
    Func OnShutdown()
    MsgBox(0, "Shutdown", "Der Client fährt sich nun herunter!")
    shutdown(9)
    ; Fährt den Computer mit 9ms Verspätung herunter!
    EndFunc ;==>OnShutdown

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

    ;---------------- Function Internet -------------------------
    Func OnInternet()
    MsgBox(0, "Internet", "Der Client startet nun den Internet Explorer!")
    ShellExecute ("C:\Program Files\Internet Explorer\iexplore.exe")
    ; Öffnet wie mit einen Doppelklick das Programm (EXE) iexplore
    EndFunc ;==>OnInternet

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

    ;---------------- Function LogOff ---------------------------
    Func OnLogOff()
    MsgBox(0, "Log off", "Der Clinet loggt sich nun aus!")
    ShellExecute ("C:\Logoff.bat")
    ; Öffnet wie mit einen Doppelklick die via BAT/CMD abgespeicherte Stapelverarbeitungsdatei
    EndFunc ;==>OnLogOff

    [/autoit]
  • Du hast

    [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit]

    vergessen


    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <GUIMenu.au3>
    Opt("GUIOnEventMode", 1)
    _Main()

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

    Func _Main()
    Local $RemotedesktopID, $ShutdownID, $InternetID, $LogOffID

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

    $hForm = GUICreate("Evosoft Thin Client", 250, 175)
    $hMenu = _GUICtrlMenu_GetSystemMenu($hForm)
    _GUICtrlMenu_EnableMenuItem($hMenu, $SC_CLOSE, $MF_GRAYED, False)
    ; Erstellt die GUI (Auswahlfenster) mit Programmüberschrift

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

    $Pic = GUICtrlCreatePic(@ScriptDir & "\logo.jpg", 34, 0, 181, 65)
    ; Erstellt ein Bild in der GUI

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

    GUICtrlCreateLabel("Bitte wählen Sie aus!", 10, 75)
    ; Erstellt die Anweisung im GUI Fenster

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

    $RemotedesktopID = GUICtrlCreateButton("Remotedesktop", 10, 100, 90, 30)
    GUICtrlSetOnEvent($RemotedesktopID, "OnRemotedesktop"); Buttongröße und Ort in Pixel
    ; Erstellt den Button Remotedesktop

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

    $ShutdownID = GUICtrlCreateButton("X Shutdown X", 160, 100, 80, 30)
    GUICtrlSetOnEvent($ShutdownID, "OnShutdown") ; Buttongröße und Ort in Pixel
    ; Erstellt den Button Shutdown

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

    $LogOffID = GUICtrlCreateButton("<< LogOff >>", 160, 130, 80, 30)
    GUICtrlSetOnEvent($LogOffID, "OnLogOff") ; Buttongröße und Ort in Pixel
    ; Erstellt den Button Log Off

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

    $InternetID = GUICtrlCreatebutton("Internet", 10, 130, 90, 30)
    GUICtrlSetOnEvent($InternetID, "OnInternet"); Buttongröße und Ort in Pixel
    ; Erstellt den Button für die Internetnutzung

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

    GUISetState() ;Zeigt die GUI am Bildschirm an
    Do
    Until GUIGetMsg() = -3

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

    EndFunc ;==>_Main

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

    ;---------------- Function RDP ------------------------------
    Func OnRemotedesktop()
    MsgBox(0, "Remotedesktop", "Der Client startet nun die Remotedesktopverbindung zum Terminalserver!")
    ShellExecute ("C:\TS.rdp")
    ; Öffnet wie mit einen Doppelklick die via RDP abgespeicherte Verbindung
    EndFunc ;==>OnRemotedesktop

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

    ;---------------- Function Shutdown -------------------------
    Func OnShutdown()
    MsgBox(0, "Shutdown", "Der Client fährt sich nun herunter!")
    shutdown(9)
    ; Fährt den Computer mit 9ms Verspätung herunter!
    EndFunc ;==>OnShutdown

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

    ;---------------- Function Internet -------------------------
    Func OnInternet()
    MsgBox(0, "Internet", "Der Client startet nun den Internet Explorer!")
    ShellExecute ("C:\Program Files\Internet Explorer\iexplore.exe")
    ; Öffnet wie mit einen Doppelklick das Programm (EXE) iexplore
    EndFunc ;==>OnInternet

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

    ;---------------- Function LogOff ---------------------------
    Func OnLogOff()
    MsgBox(0, "Log off", "Der Clinet loggt sich nun aus!")
    ShellExecute ("C:\Logoff.bat")
    ; Öffnet wie mit einen Doppelklick die via BAT/CMD abgespeicherte Stapelverarbeitungsdatei
    EndFunc ;==>OnLogOff

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.