Fehler mit mehreren GUIs - Fenster schließen sich von selbst

  • Grüße!

    Ich bin erst seit kurzem "Mitglied der gemeinen AutoIT'ler", aber hab bisher - wie ich finde schon recht gut geschafft was mein Programmziel angeht.

    Dabei ist aber ein kleines - eher fatales wie seltsames - Problem aufgetreten.
    Und zwar... bei Programmausführung erscheint Fenster1, es lädt einige Daten aus der Registrierung, holt sich einige per WMI queries usw und sofort.
    Am Ende des "Ladeprozesses" überprüft er die gefundenen Daten.
    In einem Fall, wenn 2 spezifische Werte ungleich leer ( <> "" ) sind, dann soll er zu Funktion X springen.

    Funktion X erstellt ein neues Fenster mit 2 Buttons zur Entscheidung welcher der gefundenen Werte nun genommen werden soll.
    Danach soll(te) das Hauptfenster starten.
    So, tut es auch, aber schließt sich direkt wieder.

    Aber das ganze mal als Code...

    [autoit]

    include ...

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

    Opt("GUIOnEventMode", 1)
    ; ### Launcher Start ###
    ; # Launcher: UI Start #
    Launcher = GUICreate("Launcher", 345, 136, 496, 308)

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

    ; [...] einige Labels etc...

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

    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    ; # Launcher: GUI Ende #

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

    ; # Launcher: Datensammlung #

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

    ; [...] Befehle, Abfragen, Variablen...

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

    ; # Launcher: Datensammlung Ende #

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

    ; # Launcher: Datenüberprüfung #
    If $var1 = "" AND $var2 = "" Then
    ; [...] Fehlerausgabe... Aufforderung für manuelle Eingabe
    ElseIf $var1 <> "" AND $var <> "" Then
    Function_X()
    EndIf
    ; # Launcher: Datenüberprüfung Ende #
    ; ### Launcher Ende ###

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

    ; [...] viele Funktionen (func)

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

    Func Function_X()
    $Launcher_X = GUICreate("Launcher - Entscheidung", 423, 130, 484, 456)

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

    ; [...] viele Labels

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

    $B_1 = GUICtrlCreateButton("Mögl.1", 72, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Microsoft Sans Serif")
    $B_2 = GUICtrlCreateButton("Mögl.2", 232, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Microsoft Sans Serif")
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUISetOnEvent($B_1, "Button_1")
    GUISetOnEvent($B_2, "Button_2")
    EndFunc

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

    ; [...] noch mehr Funktionen

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

    ; ### primäres GUI ###
    ; [...] einige Bedingungen zwecks Label-Anpassung

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

    $Main = GUICreate("main", 385, 277, 490, 300)

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

    ; [...] Buttons, Labels, Tabs, OnEvent's....

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

    GUISetState(@SW_SHOW)
    ; ### prim. GUI Ende ###

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

    ; ### window events ###

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

    Func CLOSEclick()
    If @GUI_WinHandle = $Launcher OR @GUI_WinHandle = $Main Then
    Exit
    Elseif @GUI_WinHandle = $Launcher_X
    ; Variablen setzen
    EndIf
    EndFunc

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

    Func Button_1()
    ; Variablen setzen
    EndFunc

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

    Func Button_2()
    ; Variablen setzen
    EndFunc

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

    ; Die restlichen OnEvent-Funktionen stehen als "Rohlinge" drunter, aber bisher ohne Aktionen

    [/autoit]

    Der genaue "Verlauf" im jetzigen Status ist halt der...
    Er startet den Launcher, ruft die ganzen Daten ab... ruft die Funktion Launcher_X() auf (in meinem Fall, da beide Werte <> "" sind) und damit das 2. Fenster zur "Entscheidung" auf, welches sich sofort wieder schließt, danach wird das Hauptfenster aufgerufen, welches sich auch sofort wieder schließt - Script Ende.

    Jemand 'nen Rat?
    Mehr Details benötigt?

    fG
    Matricus

    Einmal editiert, zuletzt von Matricus (4. März 2010 um 06:58)

  • also wenn ich das jetzt so sehe, siehts aus als ob ne Schleife fehlen würde.

    Einmal editiert, zuletzt von JufFThreeManiac (3. März 2010 um 20:36)

  • Hallo Matricus,

    kann mir nicht vorstellen dass sich jemand die Mühe macht aus deinen Code-Schnipseln ein Skript z erstellen. Denn siehe Fehlermeldungen:


    Sorry, entweder du postest dein komplettes Skript oder machst dir die Mühe und erstellst ein compilierfähiges Beispiel oder du gibst dich mit dem Beispiel aus der Hilfe (Fortgeschrittene Operationen und mehrere Fenster) zufrieden:

    Spoiler anzeigen
    [autoit]

    #include

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

    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
    $mainwindow = GUICreate("Hallo Welt", 200, 100)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlCreateLabel("Hallo Welt! Wie geht's?", 30, 10)
    $okbutton = GUICtrlCreateButton("OK", 70, 50, 60)
    GUICtrlSetOnEvent($okbutton, "OKButton")

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

    $dummywindow = GUICreate("Dummy-Fenster zum Testen ", 200, 100)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

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

    GUISwitch($mainwindow)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(1000) ; Im Leerlauf bummeln
    WEnd

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

    Func OKButton()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $okbutton
    MsgBox(0, "GUI Event", "Du hast auf OK geklickt!")
    EndFunc

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

    Func CLOSEClicked()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $GUI_EVENT_CLOSE,
    ;@GUI_WINHANDLE ist entweder gleich $mainwindow oder $dummywindow
    If @GUI_WINHANDLE = $mainwindow Then
    MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...")
    Exit
    EndIf
    EndFunc

    [/autoit]

    mfg (Auto)Bert

  • Meisten Funktionen entfernt, würd' sonst zu lang werden und tun' auch nichts zur Sache da sie bis dato eh nicht aufgerufen werden (können).
    Lad' das Script gleich auch noch hoch...

    [autoit]


    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>

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

    Opt("GUIOnEventMode", 1)

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

    ; _____________________________________________________________________________________________________________
    ; ### Launcher Beginn###
    ; # Launcher: GUI Beginn #
    Global $LoLFixit_Launcher = GUICreate("LoL- Get it fixed! Launcher", 345, 136, 496, 308)
    GUISetFont(10, 400, 0, "Microsoft Sans Serif")
    $L_wait = GUICtrlCreateLabel("Bitte einen Moment Geduld.", 16, 16, 167, 20)
    $L_primary = GUICtrlCreateLabel("Das Fixing-Tool für League of Legends wird gestartet.", 16, 40, 320, 20)
    $Bar_status = GUICtrlCreateProgress(16, 104, 313, 14)
    GUICtrlSetColor(-1, 0x008000)
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    GUICtrlSetTip(-1, "status")
    ;Global $B_exit = GUICtrlCreateButton("Abbrechen", 280, 98, 83, 25, 0)
    $Bar_label = GUICtrlCreateLabel("Status", 18, 80, 310, 19)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    ; # Launcher: GUI Ende #

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

    ; # Launcher: Start #
    GUICtrlSetData($Bar_status, 1)
    GUICtrlSetData($Bar_label, "Starte Informationssammlung")
    Sleep(1500)
    Global $DirEU, $DirUS, $Dir, $Dir2, $DirFault ; => für LoL Verzeichnisse
    Global $inetcfg ; => Internet Explorer registry value
    Global $OS, $OS1, $OSarch, $OSinstalltemp, $SP, $User, $PCName, $IP1, $IP2 ; => allgemeine Systemdaten
    Global $temp, $name, $objItem ; => sonstiges
    Global $S_CPUName, $S_CPUmax, $S_CPUatm, $S_CPUcores, $S_CPUcoreSUM, $S_RAM, $S_DispTyp, $S_DispDriver, $S_MBoem, $S_MBmodel ; => Hardware Daten
    GUICtrlSetData($Bar_status, 8)

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

    ; # Launcher: read registry values #
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL US]")
    Sleep(750)
    $Dir2 = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{868EC22E-7E82-4760-9265-3F2E705BF24B}", "InstallLocation"), "\")
    $i = 2
    $DirUS = $Dir2[1]
    While $i < $Dir2[0]
    $DirUS = $DirUS & "\" & $Dir2[$i]
    GUICtrlSetData($Bar_status, $i + 10)
    $i = $i + 1
    WEnd
    Sleep(300)
    GUICtrlSetData($Bar_status, 21)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL EU]")
    sleep(750)
    $Dir = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\leagueoflegends\leagueoflegends", "UninstallPath"), "\")
    $i = 2
    $DirEU = $Dir[1]
    While $i < $Dir[0]
    $DirEU = $DirEU & "\" & $Dir[$i]
    GUICtrlSetData($Bar_status, $i + 30)
    $i = $i + 1
    WEnd
    Sleep(300)
    GUICtrlSetData($Bar_status, $i + 40)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [Internet Explorer]")
    sleep(750)
    $inetcfg = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Internet Settings", "GlobalUserOffline")
    GUICtrlSetData($Bar_status, $i + 43)
    GUICtrlSetData($Bar_label, "Speichere Daten")
    sleep(1000)

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

    ; # Launcher: read environment data #
    GUICtrlSetData($Bar_status, $i + 46)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Betriebssystem]")
    sleep(750)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $OSarch = @OSArch
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) then
    For $objItem In $colItems
    $OSinstalltemp = StringSplit($objItem.InstallDate, "")
    $OS1 = StringSplit($objItem.Name, "|")
    Next
    Endif
    $OS = $OS1[1]
    $OSinstall = $OSinstalltemp[7] & $OSinstalltemp[8] & "." & $OSinstalltemp[5] & $OSinstalltemp[6] & "." & $OSinstalltemp[1] & $OSinstalltemp[2] & $OSinstalltemp[3] & $OSinstalltemp[4]
    GUICtrlSetData($Bar_status, $i + 49)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Update Status]")
    sleep(750)
    $SP = @OSServicePack
    GUICtrlSetData($Bar_status, $i + 52)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [PC-Name & Nutzer]")
    sleep(750)
    $PCName = @ComputerName
    $User = @UserName
    GUICtrlSetData($Bar_status, $i + 56)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Netzwerk Status]")
    sleep(750)
    $IP1 = @IPAddress1
    $IP2 = @IPAddress2
    GUICtrlSetData($Bar_status, $i + 60)

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

    ; # Launcher: WMI queries to get hardware data #
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Hardware]")
    Sleep(500)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    GUICtrlSetData($Bar_status, $i + 62)
    ; RAM
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemoryArray", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 64)
    If IsObj($colItems) then
    For $objItem In $colItems
    $S_RAM = $objItem.MaxCapacity / 1024 / 1024
    Next
    Endif
    ; CPU
    GUICtrlSetData($Bar_status, $i + 66)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 68)
    If IsObj($colItems) then
    For $objItem In $colItems
    $S_CPUatm = $objItem.CurrentClockSpeed
    $S_CPUmax = $objItem.MaxClockSpeed
    $S_CPUName = $objItem.Name
    $S_CPUcores = $objItem.NumberOfCores
    $S_CPUcoreSUM = $objItem.NumberOfLogicalProcessors
    Next
    Endif
    ; Grafik
    GUICtrlSetData($Bar_status, $i + 70)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DisplayConfiguration", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 72)
    If IsObj($colItems) then
    For $objItem In $colItems
    $S_DispTyp = $objItem.DeviceName
    $S_DispDriver = $objItem.DriverVersion
    Next
    Endif
    ; Mainboard
    GUICtrlSetData($Bar_status, $i + 74)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 76)
    If IsObj($colItems) then
    For $objItem In $colItems
    $S_MBoem = $objItem.Manufacturer
    $S_MBmodel = $objItem.Model
    Next
    Endif
    GUICtrlSetData($Bar_status, $i + 80)

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

    ; # Launcher: setting variables #
    GUICtrlSetData($Bar_label, "Initialisiere Daten")
    GUICtrlSetData($Bar_status, 82)
    Global $launcher = "lol.launcher.exe"
    sleep(300)
    GUICtrlSetData($Bar_status, 84)
    Global $run = 0
    sleep(300)
    GUICtrlSetData($Bar_status, 86)
    Global $savepath = @TempDir
    sleep(300)
    GUICtrlSetData($Bar_status, 88)
    sleep(300)
    Global $workdir, $rescdir, $Output, $S_RAM
    GUICtrlSetData($Bar_status, 90)
    GUICtrlSetData($Bar_label, "Lade Oberfläche")
    Global $Main_B_upcoming, $Laun_B_close, $Laun_B_play, $Laun_B_error, $Shop_B_blank, $Conn_B_analyse, $Info_B_notes, $Win_close, $run_lol
    sleep(1000)
    GUICtrlSetData($Bar_status, 93)
    Global $LoL_EUandUS, $B_EU, $B_US
    GUICtrlSetData($Bar_status, 96)
    Global $FixIt_Main
    GUICtrlSetData($Bar_label, "Starte Programm")
    sleep(1000)
    GUICtrlSetData($Bar_status, 100)

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

    ; # Launcher: verify LoL data #
    If $DirEU = "" AND $DirUS = "" Then
    MsgBox(48, "LoL - Get it fixed!", "Text", 5)
    Global $workdir = FileSelectFolder("Das Installationsverzeichnis konnte nicht automatisch erkannt werden." & @CRLF & "Bitte wähle dein LoL Installationsverzeichnis", "",2,"C:\programme\")
    $rescdir = $workdir
    ;main()
    ;GUIDelete($LoLFixit_Launcher)
    ;GUIDelete($LoL_EUandUS)
    ;GUIDelete($B_EU)
    ;GUIDelete($B_US)
    ElseIf $DirEU <> "" AND $DirUS <> "" Then
    launcher_EUandUS()
    EndIf

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

    ; ### Launcher Ende ###
    ; _______________________________________________________________________________________________________________
    ; _______________________________________________________________________________________________________________
    ; ### Functions Beginn ###

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

    ; # Launcher: EU oder US (wenn beide gefunden) #
    Func launcher_EUandUS()
    Global $LoL_EUandUS = GUICreate("LoL - Get it fixed! Both", 423, 130, 484, 456)
    $L_primary = GUICtrlCreateLabel("Es wurde festgestellt das der EU und der US Client installiert ist.", 14, 16, 377, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $L_sub = GUICtrlCreateLabel("Bitte Client auswählen für den das Programm Fehler beheben soll.", 8, 40, 393, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    Local $B_EU = GUICtrlCreateButton("EU-Client", 72, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Microsoft Sans Serif")
    Local $B_US = GUICtrlCreateButton("US-Client", 232, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Microsoft Sans Serif")
    GUISetState(@SW_SHOW, $LoL_EUandUS)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUISetOnEvent($B_EU, "Button_EU")
    GUISetOnEvent($B_US, "Button_US")
    EndFunc ; => launcher_EUandUS

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

    ; ### Functions Ende ###
    ; _______________________________________________________________________________________________________
    ; _______________________________________________________________________________________________________

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

    ; ### Beginn Haupt-Interface ###

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

    ;Func Main()
    While 1
    Sleep(100)
    WEnd

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

    ; => Plausibilitätsprüfung ob $workdir mit Daten gefüllt ist, ggf. setzen der Variable mit EU/US-Pfad
    If $workdir = "" Then
    If $DirEU <> "" Then
    $workdir = $DirEU
    ElseIf $DirUS <> "" Then
    $workdir = $DirUS
    EndIf
    EndIf
    if $rescdir = "" Then
    $rescdir = $workdir
    EndIf

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

    ; => Zuweisung der korrekten Betriebssystemarchitektur-strings anhand der Daten
    If $OSarch = "X86" Then
    $OSarch = "32 bit"
    ElseIf $OSarch = "X64" Then
    $OSarch = "64 bit"
    EndIf

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

    MsgBox(64, "test", $OS & " " & $OSarch)

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

    MsgBox(64, "test", $workdir & @CRLF & $rescdir & @CRLF & $Output)
    Opt("GUIOnEventMode", 1)
    $FixIt_Main = GUICreate("LoL - Get it fixed!", 385, 277, 490, 300)
    GUISetIcon("D:\005.ico")
    $Fix_TabCon = GUICtrlCreateTab(8, 8, 396, 256)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $T_Main = GUICtrlCreateTabItem("Haupt")
    $Main_L_primary = GUICtrlCreateLabel("Willkommen!", 24, 48, 124, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "Microsoft Sans Serif")
    $Main_L_intro1 = GUICtrlCreateLabel("Dieses Programm wird dich bei der Fehlerbehebung für", 24, 88, 332, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_intro2 = GUICtrlCreateLabel("League of Legends unterstützen.", 24, 112, 196, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_intro3 = GUICtrlCreateLabel("Dafür einfach eine der Kategorien wählen.", 24, 136, 250, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info = GUICtrlCreateLabel("Das Tool enthält bereits einige Fehlerbehebungen - weitere", 24, 168, 356, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info2 = GUICtrlCreateLabel("sind bereits in Entwicklung. Was das sein wird?", 24, 192, 281, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info3 = GUICtrlCreateLabel("Schaut's euch an :", 24, 224, 111, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_B_upcoming = GUICtrlCreateButton("geplante Änderungen", 160, 216, 147, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Main_B_upcomingClick")
    $T_Laun = GUICtrlCreateTabItem("&Patcher")
    $Laun_L_primary = GUICtrlCreateLabel("Patch Probleme", 120, 40, 170, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Laun_L_Sub = GUICtrlCreateLabel("Bitte deinen Fehler auswählen", 96, 80, 211, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    $Laun_B_close = GUICtrlCreateButton("Crash", 40, 110, 107, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Laun_B_closeClick")
    $Laun_BL_close1 = GUICtrlCreateLabel("Dies behebt den Fehler, welcher den Patcher", 176, 112, 218, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    $Laun_BL_close2 = GUICtrlCreateLabel("sofort nach Start des Programmes schließt", 184, 128, 202, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    $Laun_B_play = GUICtrlCreateButton("Spielen-Button", 40, 158, 107, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Laun_B_playClick")
    $Laun_BL_play1 = GUICtrlCreateLabel("Behebt den Fehler wenn der Spielen-Button", 176, 158, 215, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Laun_BL_play2 = GUICtrlCreateLabel("noch ausgegraut ist nach Patch", 200, 177, 157, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Laun_B_error = GUICtrlCreateButton("launcher", 40, 208, 107, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Laun_B_errorClick")
    $Laun_BL_error1 = GUICtrlCreateLabel("Dies behebt den Fehler ''Im Startprogramm ist", 174, 208, 220, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Label1 = GUICtrlCreateLabel("ein Fehler aufgetreten. Bitte neustarten''", 184, 224, 196, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $T_Shop = GUICtrlCreateTabItem("&Shop")
    $Shop_L_sub = GUICtrlCreateLabel("Bitte wähle dein Problem aus", 105, 80, 204, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetColor(-1, 0x646464)
    $Shop_L_primary = GUICtrlCreateLabel("Shop Probleme", 124, 40, 164, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Shop_B_blank = GUICtrlCreateButton("leere Seite", 40, 128, 107, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "But_BPClick")
    $Shop_BL_blank1 = GUICtrlCreateLabel("Behebt den Fehler der leeren Seite", 184, 128, 195, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $Shop_BL_blank2 = GUICtrlCreateLabel("wenn man den Shop aufruft.", 202, 144, 158, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $T_Conn = GUICtrlCreateTabItem("&Verbindung")
    $Conn_L_primary = GUICtrlCreateLabel("Verbindungsprobleme", 88, 48, 233, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Conn_L_sub1 = GUICtrlCreateLabel("Solltest du Verbindungsabbrüche oder starke Verzögerungen", 24, 88, 368, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_L_sub2 = GUICtrlCreateLabel("haben, so kannst du hier eine Analyse der Verbindung", 24, 112, 324, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_L_sub3 = GUICtrlCreateLabel("zu den europäischen LoL Servern durchführen.", 24, 136, 278, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_B_analyse = GUICtrlCreateButton("Analyse starten", 136, 168, 123, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Conn_BL_analyse = GUICtrlCreateLabel("Hinweis: Für die Analyse wird das mitgelieferte Programm", 24, 216, 345, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_BL_analyse2 = GUICtrlCreateLabel("''WinMTR'' (Freeware) gestartet.", 77, 234, 195, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $T_Info = GUICtrlCreateTabItem("&Info")
    $Info_L_primary = GUICtrlCreateLabel("League of Legends - Fixing Tool", 24, 48, 261, 24)
    GUICtrlSetFont(-1, 12, 800, 4, "Microsoft Sans Serif")
    $Info_L_sub = GUICtrlCreateLabel("aktuelle Version: 0.7", 24, 80, 123, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_sub2 = GUICtrlCreateLabel("Programmiert von Matricus", 24, 101, 152, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $Info_L_text = GUICtrlCreateLabel("Alle Lösungen basieren auf meinen Erfahrungen - IT-Technik", 24, 136, 362, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_text2 = GUICtrlCreateLabel("im Allgemeinen, sowie LoL an sich. Einige Lösungen basieren", 24, 160, 369, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_text3 = GUICtrlCreateLabel("zudem auf Einträge aus der US Knowledge Base für LoL.", 24, 184, 338, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_B_notes = GUICtrlCreateButton("Versionsnotizen", 144, 216, 123, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Info_B_notesClick")
    GUICtrlCreateTabItem("")
    $Win_close = GUICtrlCreateButton("&Beenden", 328, 267, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Button2Click")
    $run_lol = GUICtrlCreateCheckbox(" starte LoL nach einem Fix automatisch", 10, 266, 305, 25)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Checkbox1Click")
    GUISetState(@SW_SHOW)

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

    ;EndFunc
    ; ### Ende Haupt-Interface ###
    ; ___________________________________________________________________________________________________________
    ; ___________________________________________________________________________________________________________

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

    ; ### window events ###

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

    Func CLOSEclick()
    If @GUI_WinHandle = $LoLFixit_Launcher OR @GUI_WinHandle = $FixIt_Main Then
    Exit
    Else
    if @GUI_WinHandle = $LoL_EUandUS Then
    MsgBox(48, "LoL - Get it fixed!", "Achtung! Du hast keinen Client ausgewählt." & @CRLF & "Für kommende Aktionen wird der EU-Client als Standard genommen.")
    WinClose("LoL - Get it fixed! Both")
    $workdir = $DirEU
    EndIf
    EndIf
    EndFunc

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

    Func Button_EU()
    $workdir = $DirEU
    ;WinClose("LoL - Get it fixed! Both")
    EndFunc

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

    Func Button_US()
    $workdir = $DirUS
    Main()
    ;WinClose("LoL - Get it fixed! Both")
    EndFunc

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

    Func But_BPClick()

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

    EndFunc
    Func Button1Click()

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

    EndFunc
    Func Button2Click()

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

    EndFunc
    Func Checkbox1Click()

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

    EndFunc
    Func Info_B_notesClick()

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

    EndFunc
    Func Laun_B_closeClick()

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

    EndFunc
    Func Laun_B_errorClick()

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

    EndFunc
    Func Laun_B_playClick()

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

    EndFunc
    Func Main_B_upcomingClick()

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

    EndFunc

    [/autoit]


    Edit: Komplette Script als Anhang hochgeladen...

  • Hallo Matricus,

    was mir beim überfliegen des Skriptes aufgefallen ist:

    • in der Func launcher_EUandUS
      hast du 2* anstelle von GuiCtrlSetOnEvent GuiSetOnevent verwender
    • Die "IDLE"-Schleife fehlt auch
    • In der Func Main() ist die "IDLE"-Schleife zwar vorhanden, gehört aber hinter GuiSetState
    • in der Func Button_EU() fehlt der Aufruf für main()
    • in der Func Button_EU() und in der Func Button_US kannst du (wenn nicht mehr benötigt mit GuiDelete($LoL_EUandUS) das Auswahlfenster löschen()
    • in der Func Button2Click() fehlt noch exit

    das ist wohl das gröbste gewessen. Da ich weder LoL noch andere Online-Spiele spiele, siehst du sicher auch ein das ich keine weiteren Hilfe geben möchte, bin nämlich nicht bereit mir LoL zu installieren,

    mfg (Auto)Bert

  • Erstmal Danke für deine Hilfe.

    Ich werd jetzt entsprechend noch mal drübergehen und wieder testen, aber eine Frage hab ich noch.

    • Die "IDLE"-Schleife fehlt auch

    Muss die idle-Schleife in jedes erstelltes Fenster, also z.B. auch in Func launcher_EUandUS() oder gibts 'ne Art "globale" Schleife für das gesamte Script?

    Zitat

    Da ich weder LoL noch andere Online-Spiele spiele, siehst du sicher auch ein das ich keine weiteren Hilfe geben möchte, bin nämlich nicht bereit mir LoL zu installieren,

    Musst du ja auch nicht... ;)
    Die ganzen Funktionen funktionieren alle reibungslos.

    Ich muss gestehen, ich hab heute das Script auch auf den EventMode umgestellt... war bis gestern noch im MessageLoop... aber das ist ja auf Dauer mit mehreren Fenstern nicht gerade optimal.

    Edit:
    So, ich hab jetzt eine idle-Schleife in Func launcher_EUandUS() eingefügt, sowie dessen GUIOnEvent's in GUICtrlSetOnEvent geändert.
    Das Fenster funktioniert nun und durch main() in der Event Funktion wird das Hauptfenster aufgerufen - wie gewollt.
    Gleichzeitig hab ich die idle-Schleife von main() unter GUISetState verschoben.
    Nur leider funktioniert keiner der Buttons...
    GUICtrlSetOnEvent(...) für jeden Button ist gesetzt und die entsprechende Funktion angepasst... passiert dabei aber nichts.
    Hab zum Testen erstmal alle OnEvent-Funktionen des main() Fensters auf Exit gesetzt um's zu testen... aber wie gesagt, keine Reaktion.

    [autoit]

    func main()
    $FixIt_Main = GUICreate("LoL - Get it fixed!", 410, 298, 490, 305)
    GUISetIcon("D:\005.ico")
    $Fix_TabCon = GUICtrlCreateTab(8, 8, 396, 256)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $T_Main = GUICtrlCreateTabItem("Haupt")
    $Main_L_primary = GUICtrlCreateLabel("Willkommen!", 24, 48, 124, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "Microsoft Sans Serif")
    $Main_L_intro1 = GUICtrlCreateLabel("Dieses Programm wird dich bei der Fehlerbehebung für", 24, 88, 332, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_intro2 = GUICtrlCreateLabel("League of Legends unterstützen.", 24, 112, 196, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_intro3 = GUICtrlCreateLabel("Dafür einfach eine der Kategorien wählen.", 24, 136, 250, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info = GUICtrlCreateLabel("Das Tool enthält bereits einige Fehlerbehebungen - weitere", 24, 168, 356, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info2 = GUICtrlCreateLabel("sind bereits in Entwicklung. Was das sein wird?", 24, 192, 281, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info3 = GUICtrlCreateLabel("Schaut's euch an :", 24, 224, 111, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_B_upcoming = GUICtrlCreateButton("geplante Änderungen", 160, 216, 147, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($Main_B_upcoming, "Main_B_upcomingClick")
    $T_Laun = GUICtrlCreateTabItem("&Patcher")
    $Laun_L_primary = GUICtrlCreateLabel("Patch Probleme", 120, 40, 170, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Laun_L_Sub = GUICtrlCreateLabel("Bitte deinen Fehler auswählen", 96, 80, 211, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    $Laun_B_close = GUICtrlCreateButton("Crash", 40, 110, 107, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($Laun_B_close, "Laun_B_closeClick")
    $Laun_BL_close1 = GUICtrlCreateLabel("Dies behebt den Fehler, welcher den Patcher", 176, 112, 218, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    $Laun_BL_close2 = GUICtrlCreateLabel("sofort nach Start des Programmes schließt", 184, 128, 202, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    $Laun_B_play = GUICtrlCreateButton("Spielen-Button", 40, 158, 107, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($Laun_B_play, "Laun_B_playClick")
    $Laun_BL_play1 = GUICtrlCreateLabel("Behebt den Fehler wenn der Spielen-Button", 176, 158, 215, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Laun_BL_play2 = GUICtrlCreateLabel("noch ausgegraut ist nach Patch", 200, 177, 157, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Laun_B_error = GUICtrlCreateButton("launcher", 40, 208, 107, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($Laun_B_error, "Laun_B_errorClick")
    $Laun_BL_error1 = GUICtrlCreateLabel("Dies behebt den Fehler ''Im Startprogramm ist", 174, 208, 220, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Label1 = GUICtrlCreateLabel("ein Fehler aufgetreten. Bitte neustarten''", 184, 224, 196, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $T_Shop = GUICtrlCreateTabItem("&Shop")
    $Shop_L_sub = GUICtrlCreateLabel("Bitte wähle dein Problem aus", 105, 80, 204, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetColor(-1, 0x646464)
    $Shop_L_primary = GUICtrlCreateLabel("Shop Probleme", 124, 40, 164, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Shop_B_blank = GUICtrlCreateButton("leere Seite", 40, 128, 107, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($Shop_B_blank, "But_BPClick")
    $Shop_BL_blank1 = GUICtrlCreateLabel("Behebt den Fehler der leeren Seite", 184, 128, 195, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $Shop_BL_blank2 = GUICtrlCreateLabel("wenn man den Shop aufruft.", 202, 144, 158, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $T_Conn = GUICtrlCreateTabItem("&Verbindung")
    $Conn_L_primary = GUICtrlCreateLabel("Verbindungsprobleme", 88, 48, 233, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Conn_L_sub1 = GUICtrlCreateLabel("Solltest du Verbindungsabbrüche oder starke Verzögerungen", 24, 88, 368, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_L_sub2 = GUICtrlCreateLabel("haben, so kannst du hier eine Analyse der Verbindung", 24, 112, 324, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_L_sub3 = GUICtrlCreateLabel("zu den europäischen LoL Servern durchführen.", 24, 136, 278, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_B_analyse = GUICtrlCreateButton("Analyse starten", 136, 168, 123, 33, 0)
    GUICtrlSetFont($Conn_B_analyse, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Conn_BL_analyse = GUICtrlCreateLabel("Hinweis: Für die Analyse wird das mitgelieferte Programm", 24, 216, 345, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_BL_analyse2 = GUICtrlCreateLabel("''WinMTR'' (Freeware) gestartet.", 77, 234, 195, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $T_Info = GUICtrlCreateTabItem("&Info")
    $Info_L_primary = GUICtrlCreateLabel("League of Legends - Fixing Tool", 24, 48, 261, 24)
    GUICtrlSetFont(-1, 12, 800, 4, "Microsoft Sans Serif")
    $Info_L_sub = GUICtrlCreateLabel("aktuelle Version: 0.7", 24, 80, 123, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_sub2 = GUICtrlCreateLabel("Programmiert von Matricus", 24, 101, 152, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $Info_L_text = GUICtrlCreateLabel("Alle Lösungen basieren auf meinen Erfahrungen - IT-Technik", 24, 136, 362, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_text2 = GUICtrlCreateLabel("im Allgemeinen, sowie LoL an sich. Einige Lösungen basieren", 24, 160, 369, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_text3 = GUICtrlCreateLabel("zudem auf Einträge aus der US Knowledge Base für LoL.", 24, 184, 338, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_B_notes = GUICtrlCreateButton("Versionsnotizen", 144, 216, 123, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($Info_B_notes, "Info_B_notesClick")
    GUICtrlCreateTabItem("")
    $Win_close = GUICtrlCreateButton("&Beenden", 328, 267, 75, 25, 0)
    GUICtrlSetOnEvent($Win_close, "Button2Click")
    $run_lol = GUICtrlCreateCheckbox(" starte LoL nach einem Fix automatisch", 10, 266, 305, 25)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent($run_lol, "Checkbox1Click")
    GUICtrlSetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    EndFunc
    ; ### Ende Haupt-Interface ###
    ; ___________________________________________________________________________________________________________
    ; ___________________________________________________________________________________________________________

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

    ; ### window events ###

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

    Func CLOSEclick()
    If @GUI_WinHandle = $LoLFixit_Launcher OR @GUI_WinHandle = $FixIt_Main Then
    Exit
    Else
    if @GUI_WinHandle = $LoL_EUandUS Then
    MsgBox(48, "LoL - Get it fixed!", "Achtung! Du hast keinen Client ausgewählt." & @CRLF & "Für kommende Aktionen wird der EU-Client als Standard genommen.")
    WinClose("LoL - Get it fixed! Both")
    $workdir = $DirEU
    EndIf
    EndIf
    EndFunc

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

    Func Button_EU()
    $workdir = $DirEU
    Main()
    GUIDelete($LoL_EUandUS)
    EndFunc

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

    Func Button_US()
    $workdir = $DirUS
    Main()
    GUIDelete($LoL_EUandUS)
    EndFunc

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

    Func But_BPClick()
    Exit
    EndFunc

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

    Func Button1Click()
    Exit
    EndFunc

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

    Func Button2Click()
    Exit
    EndFunc

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

    Func Checkbox1Click()
    Exit
    EndFunc

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

    Func Info_B_notesClick()
    Exit
    EndFunc

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

    Func Laun_B_closeClick()
    Exit
    EndFunc

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

    Func Laun_B_errorClick()
    Exit
    EndFunc

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

    Func Laun_B_playClick()
    Exit
    EndFunc

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

    Func Main_B_upcomingClick()
    Exit
    EndFunc

    [/autoit]


    fG
    Matricus

    Einmal editiert, zuletzt von Matricus (3. März 2010 um 21:10)

  • Hallo Matricus,

    eigentlich reicht eine nach dem das 1. Fenster angezeigt wird das Skript würde dann so aussehen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>

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

    Opt("GUIOnEventMode", 1)

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

    Global $LoL_EUandUS, $FixIt_Main, $workdir
    ; _____________________________________________________________________________________________________________
    ; ### Launcher Beginn###
    ; # Launcher: GUI Beginn #
    Global $LoLFixit_Launcher = GUICreate("LoL- Get it fixed! Launcher", 345, 136, 496, 308)
    GUISetFont(10, 400, 0, "Microsoft Sans Serif")
    $L_wait = GUICtrlCreateLabel("Bitte einen Moment Geduld.", 16, 16, 167, 20)
    $L_primary = GUICtrlCreateLabel("Das Fixing-Tool für League of Legends wird gestartet.", 16, 40, 320, 20)
    $Bar_status = GUICtrlCreateProgress(16, 104, 313, 14)
    GUICtrlSetColor(-1, 0x008000)
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    GUICtrlSetTip(-1, "status")
    ;Global $B_exit = GUICtrlCreateButton("Abbrechen", 280, 98, 83, 25, 0)
    $Bar_label = GUICtrlCreateLabel("Status", 18, 80, 310, 19)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUISetState(@SW_SHOW)
    _GetInfos()
    GUIDelete($LoLFixit_Launcher)
    While 1
    Sleep(1000)
    WEnd
    ; # Launcher: GUI Ende #

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

    Func _GetInfos()
    ;da jetzt in einer func solltest du alle hier erstellten GLOABLen Varaiblen am Skript anfang erstellen
    ;da ansonsten Warnungen beim compilieren
    ; # Launcher: Start #
    GUICtrlSetData($Bar_status, 1)
    GUICtrlSetData($Bar_label, "Starte Informationssammlung")
    Sleep(1500)
    Global $DirEU, $DirUS, $Dir, $Dir2, $DirFault ; => für LoL Verzeichnisse
    Global $inetcfg ; => Internet Explorer registry value
    Global $OS, $OS1, $OSarch, $OSinstalltemp, $SP, $User, $PCName, $IP1, $IP2 ; => allgemeine Systemdaten
    Global $temp, $name, $objItem ; => sonstiges
    Global $S_CPUName, $S_CPUmax, $S_CPUatm, $S_CPUcores, $S_CPUcoreSUM, $S_RAM, $S_DispTyp, $S_DispDriver, $S_MBoem, $S_MBmodel ; => Hardware Daten
    GUICtrlSetData($Bar_status, 8)

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

    ; # Launcher: read registry values #
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL US]")
    Sleep(750)
    $Dir2 = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{868EC22E-7E82-4760-9265-3F2E705BF24B}", "InstallLocation"), "\")
    $i = 2
    $DirUS = $Dir2[1]
    While $i < $Dir2[0]
    $DirUS = $DirUS & "\" & $Dir2[$i]
    GUICtrlSetData($Bar_status, $i + 10)
    $i = $i + 1
    WEnd
    Sleep(300)
    GUICtrlSetData($Bar_status, 21)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL EU]")
    Sleep(750)
    $Dir = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\leagueoflegends\leagueoflegends", "UninstallPath"), "\")
    $i = 2
    $DirEU = $Dir[1]
    While $i < $Dir[0]
    $DirEU = $DirEU & "\" & $Dir[$i]
    GUICtrlSetData($Bar_status, $i + 30)
    $i = $i + 1
    WEnd
    Sleep(300)
    GUICtrlSetData($Bar_status, $i + 40)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [Internet Explorer]")
    Sleep(750)
    $inetcfg = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Internet Settings", "GlobalUserOffline")
    GUICtrlSetData($Bar_status, $i + 43)
    GUICtrlSetData($Bar_label, "Speichere Daten")
    Sleep(1000)

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

    ; # Launcher: read environment data #
    GUICtrlSetData($Bar_status, $i + 46)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Betriebssystem]")
    Sleep(750)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $OSarch = @OSArch
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $OSinstalltemp = StringSplit($objItem.InstallDate, "")
    $OS1 = StringSplit($objItem.Name, "|")
    Next
    EndIf
    $OS = $OS1[1]
    $OSinstall = $OSinstalltemp[7] & $OSinstalltemp[8] & "." & $OSinstalltemp[5] & $OSinstalltemp[6] & "." & $OSinstalltemp[1] & $OSinstalltemp[2] & $OSinstalltemp[3] & $OSinstalltemp[4]
    MsgBox(64, "test", $OS & @CRLF & $OSinstall)
    GUICtrlSetData($Bar_status, $i + 49)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Update Status]")
    Sleep(750)
    $SP = @OSServicePack
    GUICtrlSetData($Bar_status, $i + 52)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [PC-Name & Nutzer]")
    Sleep(750)
    $PCName = @ComputerName
    $User = @UserName
    GUICtrlSetData($Bar_status, $i + 56)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Netzwerk Status]")
    Sleep(750)
    $IP1 = @IPAddress1
    $IP2 = @IPAddress2
    GUICtrlSetData($Bar_status, $i + 60)

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

    ; # Launcher: WMI queries to get hardware data #
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Hardware]")
    Sleep(500)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    GUICtrlSetData($Bar_status, $i + 62)
    ; RAM
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemoryArray", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 64)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $S_RAM = $objItem.MaxCapacity / 1024 / 1024
    Next
    EndIf
    ; CPU
    GUICtrlSetData($Bar_status, $i + 66)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 68)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $S_CPUatm = $objItem.CurrentClockSpeed
    $S_CPUmax = $objItem.MaxClockSpeed
    $S_CPUName = $objItem.Name
    $S_CPUcores = $objItem.NumberOfCores
    $S_CPUcoreSUM = $objItem.NumberOfLogicalProcessors
    Next
    EndIf
    ; Grafik
    GUICtrlSetData($Bar_status, $i + 70)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DisplayConfiguration", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 72)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $S_DispTyp = $objItem.DeviceName
    $S_DispDriver = $objItem.DriverVersion
    Next
    EndIf
    ; Mainboard
    GUICtrlSetData($Bar_status, $i + 74)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 76)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $S_MBoem = $objItem.Manufacturer
    $S_MBmodel = $objItem.Model
    Next
    EndIf
    GUICtrlSetData($Bar_status, $i + 80)

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

    ; # Launcher: setting variables #
    GUICtrlSetData($Bar_label, "Initialisiere Daten")
    GUICtrlSetData($Bar_status, 82)
    Global $launcher = "lol.launcher.exe"
    Sleep(300)
    GUICtrlSetData($Bar_status, 84)
    Global $run = 0
    Sleep(300)
    GUICtrlSetData($Bar_status, 86)
    Global $savepath = @TempDir
    Sleep(300)
    GUICtrlSetData($Bar_status, 88)
    Sleep(300)
    Global $rescdir, $Output, $S_RAM
    GUICtrlSetData($Bar_status, 90)
    GUICtrlSetData($Bar_label, "Lade Oberfläche")
    Global $Main_B_upcoming, $Laun_B_close, $Laun_B_play, $Laun_B_error, $Shop_B_blank, $Conn_B_analyse, $Info_B_notes, $Win_close, $run_lol
    Sleep(1000)
    GUICtrlSetData($Bar_status, 93)
    Global $B_EU, $B_US
    GUICtrlSetData($Bar_status, 96)
    GUICtrlSetData($Bar_label, "Starte Programm")
    Sleep(1000)
    GUICtrlSetData($Bar_status, 100)

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

    ; # Launcher: verify LoL data #

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

    If $DirEU = "" And $DirUS = "" Then
    MsgBox(48, "LoL - Get it fixed!", "Text", 5)
    Global $workdir = FileSelectFolder("Das Installationsverzeichnis konnte nicht automatisch erkannt werden." & @CRLF & "Bitte wähle dein LoL Installationsverzeichnis", "", 2, "C:\programme\")
    $rescdir = $workdir
    main()
    ElseIf $DirEU <> "" And $DirUS <> "" Then
    launcher_EUandUS()
    EndIf
    EndFunc ;==>_GetInfos

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

    ;*****************************************************************************

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

    ; ### Launcher Ende ###
    ; _______________________________________________________________________________________________________________
    ; _______________________________________________________________________________________________________________
    ; ### Functions Beginn ###

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

    ; # Launcher: EU oder US (wenn beide gefunden) #
    Func launcher_EUandUS()
    Global $LoL_EUandUS = GUICreate("LoL - Get it fixed! Both", 423, 130, 484, 456)
    $L_primary = GUICtrlCreateLabel("Es wurde festgestellt das der EU und der US Client installiert ist.", 14, 16, 377, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $L_sub = GUICtrlCreateLabel("Bitte Client auswählen für den das Programm Fehler beheben soll.", 8, 40, 393, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    Local $B_EU = GUICtrlCreateButton("EU-Client", 72, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Microsoft Sans Serif")
    Local $B_US = GUICtrlCreateButton("US-Client", 232, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Microsoft Sans Serif")
    GUISetState(@SW_SHOW, $LoL_EUandUS)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUICtrlSetOnEvent($B_EU, "Button_EU")
    GUICtrlSetOnEvent($B_US, "Button_US")
    #cs
    While 1
    Sleep(1000)
    WEnd
    #ce
    EndFunc ;==>launcher_EUandUS

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

    ; ### Functions Ende ###
    ; _______________________________________________________________________________________________________
    ; _______________________________________________________________________________________________________

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

    ; ### Beginn Haupt-Interface ###

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

    Func Main()
    If WinExists("LoL - Get it fixed! Both") Then GUIDelete($LoL_EUandUS)
    ; => Plausibilitätsprüfung ob $workdir mit Daten gefüllt ist, ggf. setzen der Variable mit EU/US-Pfad
    If $workdir = "" Then
    If $DirEU <> "" Then
    $workdir = $DirEU
    ElseIf $DirUS <> "" Then
    $workdir = $DirUS
    EndIf
    EndIf
    If $rescdir = "" Then
    $rescdir = $workdir
    EndIf

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

    ; => Zuweisung der korrekten Betriebssystemarchitektur-strings anhand der Daten
    If $OSarch = "X86" Then
    $OSarch = "32 bit"
    ElseIf $OSarch = "X64" Then
    $OSarch = "64 bit"
    EndIf

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

    ;MsgBox(64, "test", $OS & " " & $OSarch)

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

    ;MsgBox(64, "test", $workdir & @CRLF & $rescdir & @CRLF & $Output)
    Opt("GUIOnEventMode", 1)
    $FixIt_Main = GUICreate("LoL - Get it fixed!", 385, 300, 490, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Button2Click")
    GUISetIcon("D:\005.ico")
    $Fix_TabCon = GUICtrlCreateTab(8, 8, 396, 256)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $T_Main = GUICtrlCreateTabItem("Haupt")
    $Main_L_primary = GUICtrlCreateLabel("Willkommen!", 24, 48, 124, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "Microsoft Sans Serif")
    $Main_L_intro1 = GUICtrlCreateLabel("Dieses Programm wird dich bei der Fehlerbehebung für", 24, 88, 332, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_intro2 = GUICtrlCreateLabel("League of Legends unterstützen.", 24, 112, 196, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_intro3 = GUICtrlCreateLabel("Dafür einfach eine der Kategorien wählen.", 24, 136, 250, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info = GUICtrlCreateLabel("Das Tool enthält bereits einige Fehlerbehebungen - weitere", 24, 168, 356, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info2 = GUICtrlCreateLabel("sind bereits in Entwicklung. Was das sein wird?", 24, 192, 281, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_L_info3 = GUICtrlCreateLabel("Schaut's euch an :", 24, 224, 111, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Main_B_upcoming = GUICtrlCreateButton("geplante Änderungen", 160, 216, 147, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Main_B_upcomingClick")
    $T_Laun = GUICtrlCreateTabItem("&Patcher")
    $Laun_L_primary = GUICtrlCreateLabel("Patch Probleme", 120, 40, 170, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Laun_L_Sub = GUICtrlCreateLabel("Bitte deinen Fehler auswählen", 96, 80, 211, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    $Laun_B_close = GUICtrlCreateButton("Crash", 40, 110, 107, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Laun_B_closeClick")
    $Laun_BL_close1 = GUICtrlCreateLabel("Dies behebt den Fehler, welcher den Patcher", 176, 112, 218, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    $Laun_BL_close2 = GUICtrlCreateLabel("sofort nach Start des Programmes schließt", 184, 128, 202, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    $Laun_B_play = GUICtrlCreateButton("Spielen-Button", 40, 158, 107, 33, 0)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Laun_B_playClick")
    $Laun_BL_play1 = GUICtrlCreateLabel("Behebt den Fehler wenn der Spielen-Button", 176, 158, 215, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Laun_BL_play2 = GUICtrlCreateLabel("noch ausgegraut ist nach Patch", 200, 177, 157, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Laun_B_error = GUICtrlCreateButton("launcher", 40, 208, 107, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Laun_B_errorClick")
    $Laun_BL_error1 = GUICtrlCreateLabel("Dies behebt den Fehler ''Im Startprogramm ist", 174, 208, 220, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Label1 = GUICtrlCreateLabel("ein Fehler aufgetreten. Bitte neustarten''", 184, 224, 196, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $T_Shop = GUICtrlCreateTabItem("&Shop")
    $Shop_L_sub = GUICtrlCreateLabel("Bitte wähle dein Problem aus", 105, 80, 204, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetColor(-1, 0x646464)
    $Shop_L_primary = GUICtrlCreateLabel("Shop Probleme", 124, 40, 164, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Shop_B_blank = GUICtrlCreateButton("leere Seite", 40, 128, 107, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "But_BPClick")
    $Shop_BL_blank1 = GUICtrlCreateLabel("Behebt den Fehler der leeren Seite", 184, 128, 195, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $Shop_BL_blank2 = GUICtrlCreateLabel("wenn man den Shop aufruft.", 202, 144, 158, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $T_Conn = GUICtrlCreateTabItem("&Verbindung")
    $Conn_L_primary = GUICtrlCreateLabel("Verbindungsprobleme", 88, 48, 233, 29)
    GUICtrlSetFont(-1, 16, 800, 4, "Microsoft Sans Serif")
    $Conn_L_sub1 = GUICtrlCreateLabel("Solltest du Verbindungsabbrüche oder starke Verzögerungen", 24, 88, 368, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_L_sub2 = GUICtrlCreateLabel("haben, so kannst du hier eine Analyse der Verbindung", 24, 112, 324, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_L_sub3 = GUICtrlCreateLabel("zu den europäischen LoL Servern durchführen.", 24, 136, 278, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_B_analyse = GUICtrlCreateButton("Analyse starten", 136, 168, 123, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Conn_BL_analyse = GUICtrlCreateLabel("Hinweis: Für die Analyse wird das mitgelieferte Programm", 24, 216, 345, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Conn_BL_analyse2 = GUICtrlCreateLabel("''WinMTR'' (Freeware) gestartet.", 77, 234, 195, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $T_Info = GUICtrlCreateTabItem("&Info")
    $Info_L_primary = GUICtrlCreateLabel("League of Legends - Fixing Tool", 24, 48, 261, 24)
    GUICtrlSetFont(-1, 12, 800, 4, "Microsoft Sans Serif")
    $Info_L_sub = GUICtrlCreateLabel("aktuelle Version: 0.7", 24, 80, 123, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_sub2 = GUICtrlCreateLabel("Programmiert von Matricus", 24, 101, 152, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Microsoft Sans Serif")
    $Info_L_text = GUICtrlCreateLabel("Alle Lösungen basieren auf meinen Erfahrungen - IT-Technik", 24, 136, 362, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_text2 = GUICtrlCreateLabel("im Allgemeinen, sowie LoL an sich. Einige Lösungen basieren", 24, 160, 369, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_L_text3 = GUICtrlCreateLabel("zudem auf Einträge aus der US Knowledge Base für LoL.", 24, 184, 338, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $Info_B_notes = GUICtrlCreateButton("Versionsnotizen", 144, 216, 123, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Info_B_notesClick")
    GUICtrlCreateTabItem("")
    $Win_close = GUICtrlCreateButton("&Beenden", 328, 267, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "Button2Click")
    $run_lol = GUICtrlCreateCheckbox(" starte LoL nach einem Fix automatisch", 10, 266, 305, 25)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "Checkbox1Click")
    GUISetState(@SW_SHOW)
    #cs
    While 1
    Sleep(100)
    WEnd
    #ce
    EndFunc ;==>Main
    ; ### Ende Haupt-Interface ###
    ; ___________________________________________________________________________________________________________
    ; ___________________________________________________________________________________________________________

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

    ; ### window events ###

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

    Func CLOSEclick()
    If @GUI_WinHandle = $LoLFixit_Launcher Or @GUI_WinHandle = $FixIt_Main Then
    Exit
    Else
    If @GUI_WinHandle = $LoL_EUandUS Then
    MsgBox(48, "LoL - Get it fixed!", "Achtung! Du hast keinen Client ausgewählt." & @CRLF & "Für kommende Aktionen wird der EU-Client als Standard genommen.")
    WinClose("LoL - Get it fixed! Both")
    $workdir = $DirEU
    EndIf
    EndIf
    EndFunc ;==>CLOSEclick

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

    Func Button_EU()
    $workdir = $DirEU
    Main()
    ;WinClose("LoL - Get it fixed! Both")
    EndFunc ;==>Button_EU

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

    Func Button_US()
    $workdir = $DirUS
    Main()
    ;WinClose("LoL - Get it fixed! Both")
    EndFunc ;==>Button_US

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

    Func But_BPClick()

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

    EndFunc ;==>But_BPClick
    Func Button1Click()

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

    EndFunc ;==>Button1Click
    Func Button2Click()
    Exit
    EndFunc ;==>Button2Click
    Func Checkbox1Click()

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

    EndFunc ;==>Checkbox1Click
    Func Info_B_notesClick()

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

    EndFunc ;==>Info_B_notesClick
    Func Laun_B_closeClick()

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

    EndFunc ;==>Laun_B_closeClick
    Func Laun_B_errorClick()

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

    EndFunc ;==>Laun_B_errorClick
    Func Laun_B_playClick()

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

    EndFunc ;==>Laun_B_playClick
    Func Main_B_upcomingClick()

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

    EndFunc ;==>Main_B_upcomingClick

    [/autoit]

    mfg (Auto)Bert

  • Hallo (auto)Bert,

    ich hab deine Änderungen jetzt mal übernommen und soweit funktioniert nun auch alles.
    Zumindest wenn das Entscheidungsfenster nicht aufgerufen wird - also beide registry-values leer sind - und direkt zu main() gegangen wird.

    Daheim werd ich's dann entsprechend testen ob's dort auch funktioniert.

    Wie dem auch sei, Danke für deine Hilfe und Hinweise.
    Wenn ich mich nicht noch mal melde, funktioniert alles wie es soll. ;)

    /hug AutoBert

    [solved]

    fG
    Matricus