1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. misterspeed

Beiträge von misterspeed

  • Problem mit Wake On Lan - Mal funktionierts, mal nicht

    • misterspeed
    • 27. Juli 2014 um 09:11

    Hier ein paar weiterführende Links sofern du dein Wissen über Netzwerke etwas erweitern willst. Dann verstehst du vielleicht auch besser was wir dir hier sagen wollten:

    http://de.wikipedia.org/wiki/IPv4
    http://de.wikipedia.org/wiki/Broadcast
    http://de.wikipedia.org/wiki/Address_Resolution_Protocol
    http://de.wikipedia.org/wiki/Switch_%28Netzwerktechnik%29
    http://de.wikipedia.org/wiki/Wake_On_LAN

    Ansonsten wurde denke ich alles gesagt:

    - Du brauchst alle MAC Adressen der einzuschaltenden Hosts
    - Du brauchst die Broadcast IP des Subnets (100.110.171.255)
    - Du sendest für alle einzuschaltenden Hosts ein passendes WOL Paket an die Broadcast IP des Subnets

    Führt das nicht bei allen Hosts zum Erfolg prüfe die Bios Einstellungen der betroffenen Hosts, siehe auch Anmerkungen im WOL Wikipedia Artikel. Außerdem muss natürlich kontrolliert werden ob du die richtige MAC Adresse des anzusprechenden Netzwerkinterfaces verwendest. Interessant wird es erst wenn du deine WOL Pakete in andere IP Subnetze schicken willst und dabei einen Router passieren musst. Die meisten Router unterbinden standardmässig das Subnetübergreifende Routing von Broadcasts (siehe wiki Artikel "Broadcast").

  • Markierter Text kopieren?

    • misterspeed
    • 26. Juli 2014 um 23:08

    WTF ?

    Hab schon vieles hier gesehen, aber einen 6 Jahre alten Thread auszugraben ist wirklich eine bemerkenswerte Leistung.

  • Problem mit Wake On Lan - Mal funktionierts, mal nicht

    • misterspeed
    • 26. Juli 2014 um 23:00
    Zitat von Norman Bates

    Das wäre doch in dem Fall 100.110*.255 oder? Und das funktioniert doch nicht mit PC1.

    Gruß
    Norman


    Nein. Wie oben bereits erklärt hast du nur ein Subnet und somit nur eine Broadcast IP (die allerletzte Adresse des Subnets). Eine Broadcast IP ist vereinfacht ausgedrückt die Adresse für "Alle IP Adressen des Subnets". Alles was du an diese IP sendest bekommen alle Geräte im Subnet. Deswegen ist diese Adresse pro Netz auch einmalig. Wenn du nun zwei /24 Netze hättest, dann gäbe es für jedes der beiden Netze eine eigene Broadcast IP. Das ist bei dir aber nicht der Fall somit ist für dich nur die IP 100.110.171.255 relevant. Die IP 100.110.169.255 ist bei deinem Subnetting keine Broadcast IP, sondern eine ganz normale Host IP die jeder x-beliebige Rechner oder eben keiner deiner Rechner haben könnte.

    Kurzfasung:

    [autoit]


    $IPbroad = "100.110.171.255"
    $macPC1 = "aabbccddeeff"
    $macPC2 = "aabbccddee22"
    ;...
    $res1 = UDPSend($connexion, GenerateMagicPacket($macPC1))
    $res2 = UDPSend($connexion, GenerateMagicPacket($macPC2))
    ;..

    [/autoit]
  • Problem mit Wake On Lan - Mal funktionierts, mal nicht

    • misterspeed
    • 26. Juli 2014 um 22:20

    Ähm naja ich bin mir nicht so sicher ob die Netzwerkgeräte im Standby Modus überhaupt eine IP Adresse haben, zumal du von DHCP Zuweisung sprachst... wenn das Senden an die direkte IP funktioniert, dann vermutlich nur weil die MAC->IP Zuordnung noch im ARP-Cache zu finden ist. Die sicherste Methode ist das Senden an die Broadcast IP des Netzwerksubnets. Da jedes WOL Paket die MAC des anzuschaltenden Gerätes enthält wird auch nur der betreffende Rechner auf das Paket reagieren, alle anderen Empfänger ignorieren das Paket.

  • Problem mit Wake On Lan - Mal funktionierts, mal nicht

    • misterspeed
    • 26. Juli 2014 um 21:05

    Naja dann ist ja klar was du falsch machst. Jedes Subnet hat nur eine Broadcast IP und ganz sicher keine zwei verschiedene.

    Wenn du ein /22 Subnet hast und beide im selben Subnet liegen sollte dein Netzwerk so ausschaun:

    Network: 100.110.168.0/22
    Host Adressen: 100.110.168.1 - 100.110.171.254
    Broadcast: 100.110.171.255
    Hosts: 1022

  • Problem mit Wake On Lan - Mal funktionierts, mal nicht

    • misterspeed
    • 26. Juli 2014 um 18:40

    Wie schaut dein Netzwerk aus? Die IP Adressen alleine nutzen nicht viel um dein Problem zu analysieren.

    Sind beide Zielrechner im gleichen Subnet?
    Welche subnets gibt es?
    Sind das zwei /24er Subnets oder ein großes /16er subnet oder... ?
    Sind beide Rechner am gleichen Switch/Router oder unterscheidet sich hier ggf. die dazwischenliegende Netzwerk Hardware und deren Konfiguration (kein Routing von WakeONLan Pakteten erlaubt?)
    In welchem Subnet befindet sich der sendende PC?

    Am besten wäre ein kleiner Netzwerkplan zur Übersicht.

  • Probleme mit @OSVERSION

    • misterspeed
    • 5. Juni 2014 um 19:22

    Kann dein Problem nicht nachvollziehen. Das Makro sollte immer den korrekten Wert ausgeben. Die wahrscheinlichste Ursache ist, das auf dem betreffenden System in der Vergangenheit eine Datei mit exakt diesem Namen im Kompatibilitätsmodus ausgeführt wurde (hier VISTA). Windows speichert den Namen jeder Datei die im Kompatibilitätsmodus gestartet wird in der Registry. Ich weiß den Schlüssel dafür gerade nicht auswendig, google sollte das aber sicher flott für dich herausfinden. Nach der Löschung des Eintrages sollte es keine derartigen Probleme mehr geben. Alternativ kannst du auch die Eigenschaften der exe kontrollieren und schaun ob da der Kompatibilitätsmodus angehakt ist bzw. deaktivierbar ist.

  • _FileListTreeToArray

    • misterspeed
    • 31. Mai 2014 um 18:39
    • Da du nicht geschrieben hast woher die Funktion stammt hier der Link zum englischen Forum: http://www.autoitscript.com/forum/topic/83…reetoarray-udf/
    • Die dort herunterladbare Version funktioniert bei mir einwandfrei und liefert ein Array mit allen Dateipfaden. Allerdings werden auch Ordner ins Array aufgenommen, nicht nur Dateien. Keine Ahnung ob das für dich ok ist.
    • Die hier von dir gepostete Variante wird mit Sicherheit nicht mehr funktionieren, weil aufgrund eines Bugs im Forum sämtliche "\" durch "" ersetzt wurden. Jenachdem wo du die Funktion her hattest hast du vielleicht aufgrund dieses Bugs bereits die beschädigte Funktion heruntergeladen.
    • Wenn du nur Verzeichnisse ohne Dateien haben willst kannst du einfach [autoit]_filelisttoarray()[/autoit] nutzen und den entsprechenden Parameter für "nur Ordner" setzen. Wenn die Funktion rekursiv sein soll, also auch Unterverzeichnisse auflisten muss, dann such nach einer rekursiven Version von filelisttoarray (finden sich hier im Forum mehrere). Alternativ eben selber schreiben, was nun auch kein großer Akt wäre.
  • _FileListTreeToArray

    • misterspeed
    • 31. Mai 2014 um 14:03
    Zitat von Xorianator

    Du musst

    [autoit]

    UBound($Array)

    [/autoit]

    machen, um den maximalen Index des Arrays zu erhalten.

    Nicht ganz, eher:


    [autoit]

    UBound($Array)-1

    [/autoit]

    Da Autoit Arrays 0-basiert sind ist der letzte ansprechbare Index um 1 kleiner als die Größe des Arrays. Es kommt also darauf an was er nun haben wollte... (letzter ansprechbarer Index ODER die Größe des Arrays?).

  • _FileListTreeToArray

    • misterspeed
    • 31. Mai 2014 um 13:35

    Glaskugel?

    Wenn du ernsthaft wissen willst wo das Problem ist würde ich an deiner Stelle einfach mal die Funktion posten die offensichtlich nicht das macht was du willst.

    Davon mal ab wäre dein Debugging so mit Sicherheit zielführender:

    [autoit]

    #include <Array.au3>
    #include <FileEx.au3>
    $a = _FileListTreeToArray(@ScriptDir)
    $iError = @error
    If IsArray($a) Then
    MsgBox(0,"","$a ist ein Array")
    MsgBox(0,"","Der Aufruf von _FileListTreeToArray verlief fehlerfrei.")
    MsgBox(0,"","Die Arraygröße von $a ist: "&_ArrayMaxIndex($a))
    else
    MsgBox(0,"","Fehler Code: " & $iError & " ... schau in der Funktion nach was das bedeutet...")
    EndIf

    [/autoit]
  • Mit Autoit Windows 8/8.1 Key auslesen

    • misterspeed
    • 27. Mai 2014 um 18:59

    Keine Ahnung welches Script du getestet hast, aber das hier funktioniert von XP bis 8.1 völlig problemlos:

    Spoiler anzeigen
    [autoit]

    ConsoleWrite("Windows Key : " & @TAB & _DecodeProductKey("Windows") & @CRLF)

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

    ConsoleWrite("Windows Key 4 : " & @TAB & _DecodeProductKey("Windows_DPid4") & @CRLF)
    ConsoleWrite("Windows Default : " & @TAB & _DecodeProductKey("Windows_Def") & @CRLF)
    ConsoleWrite("Windows Default 4 : " & @TAB & _DecodeProductKey("Windows_Def_DPid4") & @CRLF & @CRLF)

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

    ConsoleWrite("Office XP Key : " & @TAB & _DecodeProductKey("Office XP") & @CRLF)
    ConsoleWrite("Office 2003 Key : " & @TAB & _DecodeProductKey("Office 2003") & @CRLF)
    ConsoleWrite("Office 2007 Key : " & @TAB & _DecodeProductKey("Office 2007") & @CRLF)
    ConsoleWrite("Office 2010 x86 Key: " & @TAB & _DecodeProductKey("Office 2010 x86") & @CRLF)
    ConsoleWrite("Office 2010 x64 Key: " & @TAB & _DecodeProductKey("Office 2010 x64") & @CRLF)

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

    Func _DecodeProductKey($Product, $Offset = 0)
    Local $sKey[29], $Value = 0, $hi = 0, $n = 0, $i = 0, $dlen = 29, $slen = 15, $Result, $bKey, $iKeyOffset = 52, $RegKey

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

    Switch $Product

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

    Case "Windows"
    $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductId")

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

    Case "Windows_DPid4"
    $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductId4")
    $iKeyOffset = 0x328

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

    Case "Windows_Def"
    $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey", "DigitalProductId")

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

    Case "Windows_Def_DPid4"
    $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey", "DigitalProductId4")
    $iKeyOffset = 0x328

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

    Case "Office XP"
    $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\10.0\Registration'
    IF @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\10.0\Registration'
    For $i= 1 to 100
    $var = RegEnumKey($RegKey, $i)
    If @error <> 0 then ExitLoop
    $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')
    IF Not @error Then ExitLoop
    Next

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

    Case "Office 2003"
    $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\11.0\Registration'
    IF @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\11.0\Registration'
    For $i= 1 to 100
    $var = RegEnumKey($RegKey, $i)
    If @error <> 0 then ExitLoop
    $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')
    IF Not @error Then ExitLoop
    Next

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

    Case "Office 2007"
    $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\12.0\Registration'
    IF @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Registration'
    For $i= 1 to 100
    $var = RegEnumKey($RegKey, $i)
    If @error <> 0 then ExitLoop
    $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')
    IF Not @error Then ExitLoop
    Next

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

    Case "Office 2010 x86"
    $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\14.0\Registration'
    IF @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Registration'
    For $i= 1 to 100
    $var = RegEnumKey($RegKey, $i)
    If @error <> 0 then ExitLoop
    $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')
    IF Not @error Then ExitLoop
    Next
    $iKeyOffset = 0x328

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

    Case "Office 2010 x64"
    IF @OSArch <> 'x64' Then SetError(1, 0, "Product not found")
    $RegKey = 'HKLM64\SOFTWARE\Microsoft\Office\14.0\Registration'
    For $i= 1 to 100
    $var = RegEnumKey($RegKey, $i)
    If @error <> 0 then ExitLoop
    $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')
    IF Not @error Then ExitLoop
    Next
    $iKeyOffset = 0x328

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

    Case Else
    Return SetError(1, 0, "Product not supported")

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

    EndSwitch

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

    IF Not BinaryLen($bKey) Then Return ""

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

    Local $aKeys[BinaryLen($bKey)]
    For $i = 0 To UBound($aKeys) - 1
    $aKeys[$i] = Int(BinaryMid($bKey, $i + 1, 1))
    Next
    Local Const $isWin8 = BitAND(Int($aKeys[66]) / 6, 1)
    $aKeys[66] = BitOR(BitAND($aKeys[66], 0xF7), BitAND($isWin8, 2) * 4)
    $i = 24
    Local $sChars = "BCDFGHJKMPQRTVWXY2346789", $iCur, $iX, $sKeyOutput, $iLast
    While $i > -1
    $iCur = 0
    $iX = 14
    While $iX > -1
    $iCur *= 256
    $iCur = $aKeys[$iX + $iKeyOffset] + $iCur
    $aKeys[$iX + $iKeyOffset] = Int($iCur / 24)
    $iCur = Mod($iCur, 24)
    $iX -= 1
    WEnd
    $i -= 1
    $sKeyOutput = StringMid($sChars, $iCur + 1, 1) & $sKeyOutput
    $iLast = $iCur
    WEnd

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

    If $isWin8 Then
    $sKeyOutput = StringMid($sKeyOutput,2,$iLast)&"N"&StringTrimLeft($sKeyOutput,$iLast+1)
    EndIf

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

    Return StringRegExpReplace($sKeyOutput, '(\w{5})(\w{5})(\w{5})(\w{5})(\w{5})', '\1-\2-\3-\4-\5')

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

    EndFunc

    [/autoit]
  • XML-Output auf Variablen schreiben

    • misterspeed
    • 26. Mai 2014 um 20:28

    Nunja und wenn man absolut kein Bock auf RegExp hat könnte man hier auch sehr simpel dreimal

    [autoit]

    _stringbetween()

    [/autoit]

    nutzen.

  • Cookies nicht aktiviert?

    • misterspeed
    • 26. Mai 2014 um 20:22
    Zitat von Sapp

    Edit: Die Formatierung des Codes lässt sich hier iwie nicht anständig darstellen.. daher hier nochmal: http://pastebin.com/7YQ5G2LT

    Doch, man muss es nur richtig machen:

    • [Blockierte Grafik: http://i.imgur.com/0Ad5mrS.png]
    • sinnvollerweise nur bei mehr als 20 Zeilen

    • Formatierten Autoit Quellcode zwischen den Autoit BBcodes einfügen
  • XML Post. Wie?

    • misterspeed
    • 22. Mai 2014 um 21:42

    Wesentlich einfacher tust du dich wenn du die winhttp UDF für sowas verwendest, dann sparst du dir das Zusammenstellen eines validen HTTP Posts. Ob du nun wirklich eine XML Datei an den Server senden musst oder nicht kann man ohne die Doku der API schlecht sagen, deinen Beispielen zu Folge scheint die API ab in der Tat eine XML Datei anzunehmen. Vielleicht wäre es ja sinnvoll die besagte Doku hier ebenfalls zu posten.

  • Viele Controls sinnvoll unterbingen

    • misterspeed
    • 22. Mai 2014 um 20:56

    Wie wäre es mit Hover Menüs? Hab hier mal eine etwas effektreichere und moderne GUI gebastelt, aber bislang keine Zeit gehabt das weiter auszubauen um es letztlich im eigentlichen Programm nutzen zu können:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>

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

    #include "GUICtrlOnHover.au3"

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

    $gMain = GUICreate("Form1", 900, 600, -1, -1, $WS_POPUPWINDOW,$WS_EX_CONTROLPARENT)
    GUISetBkColor(0xFFFFFF,$gMain)
    GUISetFont(10,400,0,"Calibri",$gMain)

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

    ; Menübereich links
    $dummyMenuBarS = GUICtrlCreateDummy()
    $lAreaLeft = __GUICtrlCreateLabel("" ,-600, 0, 900, 600,Default,$GUI_WS_EX_PARENTDRAG, 0x0000CC)
    $lTitle = __GUICtrlCreateLabel("Test Tool 2014" , 20, 20, 260, 50,$SS_CENTER,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,600)
    $lMenuFolge = __GUICtrlCreateLabel("Folgen Modus" , 20, 160, 250, 30,$SS_RIGHT,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,400,True,"_Hover_Func_Menu", "_Hover_Func_Menu")
    $lMenuStaffel = __GUICtrlCreateLabel("Staffel Modus" , 20, 200, 250, 30,$SS_RIGHT,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,400,True,"_Hover_Func_Menu", "_Hover_Func_Menu")
    $lMenuKalender = __GUICtrlCreateLabel("Kalender Modus" , 20, 240, 250, 30,$SS_RIGHT,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,400,True,"_Hover_Func_Menu", "_Hover_Func_Menu")
    $lMenuEinstellungen = __GUICtrlCreateLabel("Globale Einstellungen" , 20, 280, 250, 30,$SS_RIGHT,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,400,True,"_Hover_Func_Menu", "_Hover_Func_Menu")
    $lMenuSDB = __GUICtrlCreateLabel("Seriendatenbank" , 20, 320, 250, 30,$SS_RIGHT,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,400,True,"_Hover_Func_Menu", "_Hover_Func_Menu")
    $lMenuStatistik = __GUICtrlCreateLabel("Statistik" , 20, 360, 250, 30,$SS_RIGHT,$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",16,400,True,"_Hover_Func_Menu", "_Hover_Func_Menu")
    $dummyMenuBarE = GUICtrlCreateDummy()

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

    GUICtrlSetState($lAreaLeft,$GUI_DISABLE) ; wichtig sonst funktioniert Hover für darüberliegende Controls nicht!

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

    ; Bereich Login
    $dummyLoginS = GUICtrlCreateDummy()
    $lAreaLogin = __GUICtrlCreateLabel("" , 280, 200, 340, 135,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lUser = __GUICtrlCreateLabel("Benutzer" , 300, 220, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $iUser = GUICtrlCreateInput("" , 390, 220, 210, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL),$GUI_WS_EX_PARENTDRAG)
    $lPW = __GUICtrlCreateLabel("Passwort" , 300, 255, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $iPW = GUICtrlCreateInput("" , 390, 255, 210, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL,$ES_PASSWORD),$GUI_WS_EX_PARENTDRAG)
    $bLoginBeenden = __GUICtrlCreateLabel("Beenden" , 390, 290, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $bLogin = __GUICtrlCreateLabel("Login" , 500, 290, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $dummyLoginE = GUICtrlCreateDummy()

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

    GUICtrlSetState($lAreaLogin,$GUI_DISABLE) ; wichtig sonst funktioniert Hover für darüberliegende Controls nicht!

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

    ; Arbeitsbereich rechts
    $dummyWorkAreaS = GUICtrlCreateDummy()
    $lAreaRight = __GUICtrlCreateLabel("" , 300, 0, 600, 600,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $bMinimieren = __GUICtrlCreateLabel("_" , 830, 10, 30, 30,BitOR($SS_CENTERIMAGE,$SS_CENTER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $bBeenden = __GUICtrlCreateLabel("X" , 860, 10, 30, 30,BitOR($SS_CENTERIMAGE,$SS_CENTER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $dummyWorkAreaE = GUICtrlCreateDummy()

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

    GUICtrlSetState($lAreaRight,$GUI_DISABLE) ; wichtig sonst funktioniert Hover für darüberliegende Controls nicht!

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

    ; Arbeitsbereich rechts Folgen Modus

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

    $dummySerienBoxS = GUICtrlCreateDummy()
    ;$lAreaSerieBox = __GUICtrlCreateLabel("" , 310, 50, 580, 125,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreaSerieTitle = __GUICtrlCreateLabel("Serienauswahl" , 320, 60, 150, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)
    $cSerie = GUICtrlCreateCombo("" , 320, 100, 250, 25,Default,$GUI_WS_EX_PARENTDRAG)
    $cFolge = GUICtrlCreateCombo("" , 590, 100, 50, 25,Default,$GUI_WS_EX_PARENTDRAG)
    $bSerieAdd = __GUICtrlCreateLabel("Hinzufügen" , 660, 100, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $bSerieRefresh = __GUICtrlCreateLabel("Aktualisieren" , 780, 100, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $istartname = GUICtrlCreateInput("" , 320, 140, 560, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL),$GUI_WS_EX_PARENTDRAG)
    $dummySerienBoxE = GUICtrlCreateDummy()

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

    $dummySourceFolgeS = GUICtrlCreateDummy()
    ;$lAreaSourceBox = __GUICtrlCreateLabel("" , 310, 185, 580, 200,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreaSourceTitle = __GUICtrlCreateLabel("Sourceauswahl" , 320, 195, 150, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)
    $bSourceRefresh = __GUICtrlCreateLabel("Aktualisieren" , 780, 195, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourceVideo = __GUICtrlCreateLabel("Video" , 320, 245, 60, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $cSourceVideo = GUICtrlCreateCombo("" , 410, 245, 430, 25,Default,$GUI_WS_EX_PARENTDRAG)
    $bSourceVideoSelect = __GUICtrlCreateLabel("..." , 850, 245, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourceAudioGer = __GUICtrlCreateLabel("Audio Ger" , 320, 280, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $cSourceAudioGer = GUICtrlCreateCombo("" , 410, 280, 430, 25,Default,$GUI_WS_EX_PARENTDRAG)
    $bSourceAudioGerSelect = __GUICtrlCreateLabel("..." , 850, 280, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourceAudioEng = __GUICtrlCreateLabel("Audio Eng" , 320, 315, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $cSourceAudioEng = GUICtrlCreateCombo("" , 410, 315, 430, 25,Default,$GUI_WS_EX_PARENTDRAG)
    $bSourceAudioEngSelect = __GUICtrlCreateLabel("..." , 850, 315, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourceSub = __GUICtrlCreateLabel("Untertitel" , 320, 350, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $cSourceSub = GUICtrlCreateCombo("" , 410, 350, 430, 25,Default,$GUI_WS_EX_PARENTDRAG)
    $bSourceSubSelect = __GUICtrlCreateLabel("..." , 850, 350, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $dummySourceFolgeE = GUICtrlCreateDummy()

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

    $dummytestS = GUICtrlCreateDummy()
    ;$lAreatestBox = __GUICtrlCreateLabel("" , 310, 395, 580, 75,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreatestTitle = __GUICtrlCreateLabel("Testauswahl" , 320, 405, 150, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)
    $dummytestE = GUICtrlCreateDummy()

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

    $dummyOptionenS = GUICtrlCreateDummy()
    ;$lAreaOptionenBox = __GUICtrlCreateLabel("" , 310, 480, 290, 110,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreaOptionenTitle = __GUICtrlCreateLabel("Optionen" , 320, 490, 150, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)
    $chkRepack = GUICtrlCreateCheckbox("Info" , 320, 530, 80, 20,Default,$GUI_WS_EX_PARENTDRAG)
    $chkRelNotes = GUICtrlCreateCheckbox("Notes" , 420, 530, 90, 20,Default,$GUI_WS_EX_PARENTDRAG)
    $chkSubs = GUICtrlCreateCheckbox("Untertitel" , 320, 550, 80, 20,Default,$GUI_WS_EX_PARENTDRAG)
    $chkScreens = GUICtrlCreateCheckbox("Screenshots" , 420, 550, 90, 20,Default,$GUI_WS_EX_PARENTDRAG)
    $dummyOptionenE = GUICtrlCreateDummy()

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

    $bstart = __GUICtrlCreateLabel("Starten" , 610, 480, 270, 100,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $bBack = __GUICtrlCreateLabel("Zurück" , 780, 555, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0x0000CC,0xFFFFFF,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")

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

    GUICtrlSetState($bBack,$GUI_HIDE)
    ;GUICtrlSetState($lAreaSerieBox,$GUI_DISABLE)
    ;GUICtrlSetState($lAreaSourceBox,$GUI_DISABLE)
    ;GUICtrlSetState($lAreatestBox,$GUI_DISABLE)
    ;GUICtrlSetState($lAreaOptionenBox,$GUI_DISABLE)

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

    ; Arbeitsbereich rechts Staffel Modus

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

    $dummySourceStaffelS = GUICtrlCreateDummy()
    ;$lAreaOrdnerBox = __GUICtrlCreateLabel("" , 310, 185, 580, 200,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreaOrdnerTitle = __GUICtrlCreateLabel("Sourceauswahl" , 320, 195, 150, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)
    $lSourceOrdner = __GUICtrlCreateLabel("Ordner" , 320, 245, 60, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $iSourceOrdner = GUICtrlCreateInput("" , 410, 245, 430, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL),$GUI_WS_EX_PARENTDRAG)
    $bSourceOrdnerSelect = __GUICtrlCreateLabel("..." , 850, 245, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourceTorrent = __GUICtrlCreateLabel("Test1" , 320, 280, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $iSourceTorrent = GUICtrlCreateInput("" , 410, 280, 430, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL),$GUI_WS_EX_PARENTDRAG)
    $bSourceTorrentSelect = __GUICtrlCreateLabel("..." , 850, 280, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourcetest = __GUICtrlCreateLabel("Test2" , 320, 315, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $iSourcetest = GUICtrlCreateInput("" , 410, 315, 430, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL),$GUI_WS_EX_PARENTDRAG)
    $bSourcetestSelect = __GUICtrlCreateLabel("..." , 850, 315, 30, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $lSourceOton = __GUICtrlCreateLabel("Quelle" , 320, 350, 80, 25,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $iSourceOton = GUICtrlCreateInput("" , 410, 350, 430, 25,BitOR($WS_BORDER,$ES_AUTOHSCROLL),$GUI_WS_EX_PARENTDRAG)
    $dummySourceStaffelE = GUICtrlCreateDummy()

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

    ;GUICtrlSetState($lAreaOrdnerBox,$GUI_DISABLE)
    For $i = $dummySourceStaffelS to $dummySourceStaffelE
    GUICtrlSetState($i,$GUI_HIDE)
    Next

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

    ; Arbeitsbereich rechts Kalender Modus

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

    $dummySourceKalenderS = GUICtrlCreateDummy()
    $kKalender = GUICtrlCreateDate("Datum",320,195)
    $dummySourceKalenderE = GUICtrlCreateDummy()

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

    For $i = $dummySourceKalenderS to $dummySourceKalenderE
    GUICtrlSetState($i,$GUI_HIDE)
    Next

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

    ; Arbeitsbereich rechts Globale Einstellungen

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

    $dummyGlobEinstS = GUICtrlCreateDummy()
    ;$lAreaDeacttestBox = __GUICtrlCreateLabel("" , 310, 50, 580, 120,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreaDeacttestTitle = __GUICtrlCreateLabel("Testauswahl deaktivieren" , 320, 60, 250, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)

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

    ;$lAreaDeactFuncBox = __GUICtrlCreateLabel("" , 310, 180, 580, 120,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF)
    $lAreaDeactFuncTitle = __GUICtrlCreateLabel("Funktionen deaktivieren" , 320, 190, 250, 30,Default,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",16,400)
    ;$chkDeactFuncScreens = GUICtrlCreateCheckbox("Screenshots" , 320, 230, 90, 20,Default,$GUI_WS_EX_PARENTDRAG)
    ;$chkDeactFuncSubs = GUICtrlCreateCheckbox("Untertitel" , 420, 230, 80, 20,Default,$GUI_WS_EX_PARENTDRAG)
    $chkDeactFuncScreens = __GUICtrlCreateLabel("" , 320, 230, 20, 20,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",14,600,True,"_Hover_Func_CheckBox", "_Hover_Func_CheckBox")
    $lDeactFuncScreens = __GUICtrlCreateLabel("Screenshots" , 350, 230, 90, 20,$SS_CENTERIMAGE,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)
    $chkDeactFuncSubs = __GUICtrlCreateLabel("" , 460, 230, 20, 20,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",14,600,True,"_Hover_Func_CheckBox", "_Hover_Func_CheckBox")
    $lDeactFuncSubs = __GUICtrlCreateLabel("Untertitel" , 490, 230, 90, 20,$SS_CENTERIMAGE,$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400)

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

    $bSaveGlobEinst = __GUICtrlCreateLabel("Speichern" , 433, 320, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")
    $bUndoGlobEinst = __GUICtrlCreateLabel("Rückgängig" , 666, 320, 100, 25,BitOR($SS_CENTERIMAGE,$SS_CENTER,$WS_BORDER),$GUI_WS_EX_PARENTDRAG, 0xFFFFFF,0x000000,"Calibri",12,400,True,"_Hover_Func_Button", "_Hover_Func_Button")

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

    $dummyGlobEinstE = GUICtrlCreateDummy()

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

    ;GUICtrlSetState($lAreaDeacttestBox,$GUI_DISABLE)
    ;GUICtrlSetState($lAreaDeactFuncBox,$GUI_DISABLE)
    For $i = $dummyGlobEinstS to $dummyGlobEinstE
    GUICtrlSetState($i,$GUI_HIDE)
    Next

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

    ;GUICtrlSetState($lAreaSerieBox,$GUI_DISABLE)
    ;__GUICtrlCreateLabel($text=Default,$left=Default,$top=Default,$width=Default,$height=Default,$style=Default,$exstyle=Default,$bkcolor=-1,$fontcolor=-1,$fontname=-1,$fontsize=Default,$fontweight=Default,$hover=False,$hoverF=-1,$hoverLeaveF=-1)

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

    GUICtrlSetData($cSerie,"TestSerie S01|TestSerie S02|Test","Test")

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

    showLogin(True)

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

    GUISetState(@SW_SHOW)
    global $boxShow = 800
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $bBeenden, $bLoginBeenden
    Exit
    Case $bMinimieren
    showLogin(True)
    ;GUISetState(@SW_MINIMIZE,$gMain)
    Case $bLogin
    showLogin(False)
    Case $bstart
    If $boxShow = 800 Then
    $boxShow = -800
    Else
    $boxShow = 800
    EndIf
    slide_Box($dummyMenuBarS+1,$dummyMenuBarE-1,$boxShow)
    slide_Box($dummySerienBoxS+1,$dummySerienBoxE-1,-1*$boxShow)
    slide_Box($dummySourceFolgeS+1,$dummySourceFolgeE-1,-1*$boxShow)
    slide_Box($dummySourceStaffelS+1,$dummySourceStaffelE-1,-1*$boxShow)
    slide_Box($bstart,$bstart,-1*$boxShow)
    slide_Box($dummytestS+1,$dummytestE-1,-1*$boxShow)
    slide_Box($dummyOptionenS+1,$dummyOptionenE-1,-1*$boxShow)
    GUICtrlSetState($bBack,$GUI_SHOW)
    Case $bSerieAdd
    If $boxShow = 800 Then
    $boxShow = -800
    Else
    $boxShow = 800
    EndIf
    slide_Box($dummyMenuBarS+1,$dummyMenuBarE-1,$boxShow)
    slide_Box($dummySerienBoxS+1,$dummySerienBoxE-1,-1*$boxShow)
    slide_Box($dummySourceFolgeS+1,$dummySourceFolgeE-1,-1*$boxShow)
    slide_Box($dummySourceStaffelS+1,$dummySourceStaffelE-1,-1*$boxShow)
    slide_Box($bstart,$bstart,-1*$boxShow)
    slide_Box($dummytestS+1,$dummytestE-1,-1*$boxShow)
    slide_Box($dummyOptionenS+1,$dummyOptionenE-1,-1*$boxShow)
    GUICtrlSetState($bBack,$GUI_SHOW)
    Case $bBack
    GUICtrlSetState($bBack,$GUI_HIDE)
    If $boxShow = 800 Then
    $boxShow = -800
    Else
    $boxShow = 800
    EndIf
    slide_Box($dummyMenuBarS+1,$dummyMenuBarE-1,$boxShow)
    slide_Box($dummySerienBoxS+1,$dummySerienBoxE-1,-1*$boxShow)
    slide_Box($dummySourceFolgeS+1,$dummySourceFolgeE-1,-1*$boxShow)
    slide_Box($dummySourceStaffelS+1,$dummySourceStaffelE-1,-1*$boxShow)
    slide_Box($bstart,$bstart,-1*$boxShow)
    slide_Box($dummytestS+1,$dummytestE-1,-1*$boxShow)
    slide_Box($dummyOptionenS+1,$dummyOptionenE-1,-1*$boxShow)
    Case $chkDeactFuncSubs, $chkDeactFuncScreens
    If GUICtrlRead($nMsg)="" Then
    GUICtrlSetData($nMsg,"X")
    Else
    GUICtrlSetData($nMsg,"")
    EndIf
    EndSwitch
    WEnd

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

    Func __GUICtrlCreateLabel($text=Default,$left=Default,$top=Default,$width=Default,$height=Default,$style=Default,$exstyle=Default,$bkcolor=-1,$fontcolor=-1,$fontname=-1,$fontsize=Default,$fontweight=Default,$hover=False,$hoverF=-1,$hoverLeaveF=-1)
    Local $iCtrl = GUICtrlCreateLabel($text,$left,$top,$width,$height,$style,$exstyle)
    If $bkcolor <> -1 Then GUICtrlSetBkColor($iCtrl,$bkcolor)
    If $fontcolor <> -1 Then GUICtrlSetColor($iCtrl,$fontcolor)
    If $fontname <> -1 Then GUICtrlSetFont($iCtrl,$fontsize,$fontweight,0,$fontname)
    If $hover = True Then
    If $hoverF <> -1 And $hoverLeaveF <> -1 Then
    _GUICtrl_OnHoverRegister($iCtrl, $hoverF, $hoverLeaveF)
    Else
    If $hoverF = -1 Then
    _GUICtrl_OnHoverRegister($iCtrl, "", $hoverLeaveF)
    Else
    _GUICtrl_OnHoverRegister($iCtrl, $hoverF, $hoverLeaveF)
    EndIf
    EndIf
    EndIf
    Return $iCtrl
    EndFunc

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

    Func _Hover_Func_Menu($iCtrlID, $iParam)
    Local $size = 18
    If $iParam = 2 Then $size = 16
    GUICtrlSetFont($iCtrlID,$size,400,0,"Calibri")

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

    If $iParam <> 2 Then
    Switch $iCtrlID
    Case $lMenuFolge
    show_Box($dummySourceStaffelS, $dummySourceStaffelE, False)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE, False)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE, False)
    show_Box($dummySerienBoxS, $dummySerienBoxE)
    show_Box($dummySourceFolgeS, $dummySourceFolgeE)
    show_Box($dummytestS, $dummytestE)
    show_Box($dummyOptionenS, $dummyOptionenE)
    GUICtrlSetState($cFolge,$GUI_SHOW)
    GUICtrlSetState($bstart,$GUI_SHOW)
    Case $lMenuStaffel
    show_Box($dummySourceFolgeS, $dummySourceFolgeE,False)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE, False)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE, False)
    show_Box($dummySerienBoxS, $dummySerienBoxE)
    show_Box($dummySourceStaffelS, $dummySourceStaffelE)
    show_Box($dummytestS, $dummytestE)
    show_Box($dummyOptionenS, $dummyOptionenE)
    GUICtrlSetState($cFolge,$GUI_HIDE)
    GUICtrlSetState($bstart,$GUI_SHOW)
    Case $lMenuKalender
    show_Box($dummySourceStaffelS, $dummySourceStaffelE, False)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE, False)
    show_Box($dummySourceFolgeS, $dummySourceFolgeE,False)
    show_Box($dummySerienBoxS, $dummySerienBoxE)
    show_Box($dummytestS, $dummytestE)
    show_Box($dummyOptionenS, $dummyOptionenE)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE)
    GUICtrlSetState($bstart,$GUI_HIDE)
    GUICtrlSetState($cFolge,$GUI_SHOW)
    Case $lMenuStatistik, $lMenuSDB
    show_Box($dummySourceStaffelS, $dummySourceStaffelE, False)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE, False)
    show_Box($dummySerienBoxS, $dummySerienBoxE,False)
    show_Box($dummySourceFolgeS, $dummySourceFolgeE,False)
    show_Box($dummytestS, $dummytestE,False)
    show_Box($dummyOptionenS, $dummyOptionenE,False)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE, False)
    GUICtrlSetState($cFolge,$GUI_HIDE)
    GUICtrlSetState($bstart,$GUI_HIDE)
    Case $lMenuEinstellungen
    show_Box($dummySourceStaffelS, $dummySourceStaffelE, False)
    show_Box($dummySerienBoxS, $dummySerienBoxE,False)
    show_Box($dummySourceFolgeS, $dummySourceFolgeE,False)
    show_Box($dummytestS, $dummytestE,False)
    show_Box($dummyOptionenS, $dummyOptionenE,False)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE, False)
    GUICtrlSetState($bstart,$GUI_HIDE)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE)
    EndSwitch
    EndIf
    EndFunc

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

    Func _Hover_Func_Button($iCtrlID, $iParam)
    Local $size, $bkcolor, $fontcolor
    If $iParam = 2 Then
    $size = 12
    if $iCtrlID = $bstart Then $size = 24
    If $iCtrlID = $bMinimieren Or $iCtrlID = $bBeenden Then $size = 16
    $bkcolor = 0xFFFFFF ; weiß
    ;if $iCtrlID = $bstart Then $bkcolor = 0x0000CC
    $fontcolor = 0x000000 ; schwarz
    Else
    $size = 14
    if $iCtrlID = $bstart Then $size = 32
    If $iCtrlID = $bMinimieren Or $iCtrlID = $bBeenden Then $size = 24
    $bkcolor = 0x0000CC ; blau
    ;If $iCtrlID = $bMinimieren Or $iCtrlID = $bBeenden Then $bkcolor = 0x999999
    $fontcolor = 0xFFFFFF ; weiß
    EndIf

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

    GUICtrlSetFont($iCtrlID,$size,400,0,"Calibri")
    if $iCtrlID = $bstart Then Return
    GUICtrlSetBkColor($iCtrlID,$bkcolor)
    GUICtrlSetColor($iCtrlID,$fontcolor)
    EndFunc

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

    Func _Hover_Func_CheckBox($iCtrlID, $iParam)
    Local $bkcolor, $fontcolor

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

    If $iParam = 2 Then
    $bkcolor = 0xFFFFFF ; weiß
    $fontcolor = 0x000000 ; schwarz
    Else
    $bkcolor = 0x0000CC ; blau
    $fontcolor = 0xFFFFFF ; weiß
    EndIf

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

    GUICtrlSetBkColor($iCtrlID,$bkcolor)
    GUICtrlSetColor($iCtrlID,$fontcolor)

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

    If GUICtrlRead($iCtrlID)="" Then
    GUICtrlSetData($iCtrlID,"X")
    Else
    GUICtrlSetData($iCtrlID,"")
    EndIf
    EndFunc

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

    Func show_Box($iStart, $iEnd, $visible = True)
    Local $show = $GUI_SHOW
    If $visible = False Then $show = $GUI_HIDE
    For $i = $iStart to $iEnd
    if BitAND(GUICtrlGetState($i),$show)=$show Then
    ; consolewrite($i & " --> skip loop" & @CRLF)
    ContinueLoop
    ;Else
    ; consolewrite($i & " --> set new state" & @CRLF)
    EndIf
    GUICtrlSetState($i,$show)
    Next
    EndFunc

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

    Func slide_Box($iStart, $iEnd, $iX=0, $iY=0, $speed=10)
    if $iX <> 0 Then
    For $i=0 to $iX Step $iX/$speed
    For $j = $iStart to $iEnd
    $aPos=ControlGetPos($gMain,"",$j)
    GUICtrlSetPos($j,$aPos[0]+($iX/$speed),$aPos[1])
    Next
    Sleep(10)
    Next
    EndIf
    If $iY <> 0 Then
    For $i=0 to $iY Step $iY/$speed
    For $j = $iStart to $iEnd
    $aPos=ControlGetPos($gMain,"",$j)
    GUICtrlSetPos($j,$aPos[0],$aPos[1]+($iY/$speed))
    Next
    Sleep(10)
    Next
    EndIf
    EndFunc

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

    Func showLogin($show)
    If $show Then
    show_Box($dummyWorkAreaS, $dummyWorkAreaE, False)
    show_Box($dummyMenuBarS, $dummyMenuBarE, False)
    show_Box($dummySourceStaffelS, $dummySourceStaffelE, False)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE, False)
    show_Box($dummySerienBoxS, $dummySerienBoxE,False)
    show_Box($dummySourceFolgeS, $dummySourceFolgeE,False)
    show_Box($dummytestS, $dummytestE,False)
    show_Box($dummyOptionenS, $dummyOptionenE,False)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE, False)
    GUICtrlSetState($bstart,$GUI_HIDE)
    ControlMove($gMain,"",$lAreaLeft,0,0)
    ControlMove($gMain,"",$lTitle,320,20)
    GUICtrlSetState($lAreaLeft,$GUI_SHOW)
    GUICtrlSetState($lTitle,$GUI_SHOW)
    show_Box($dummyLoginS,$dummyLoginE)
    Else
    show_Box($dummyLoginS,$dummyLoginE,False)
    show_Box($dummySourceKalenderS, $dummySourceKalenderE, False)
    show_Box($dummySourceStaffelS, $dummySourceStaffelE, False)
    show_Box($dummyGlobEinstS, $dummyGlobEinstE, False)
    ControlMove($gMain,"",$lAreaLeft,-600,0)
    ControlMove($gMain,"",$lTitle,20,20)
    show_Box($dummyWorkAreaS, $dummyWorkAreaE)
    show_Box($dummyMenuBarS, $dummyMenuBarE)
    show_Box($dummySerienBoxS, $dummySerienBoxE)
    show_Box($dummySourceFolgeS, $dummySourceFolgeE)
    show_Box($dummytestS, $dummytestE)
    show_Box($dummyOptionenS, $dummyOptionenE)
    GUICtrlSetState($bstart,$GUI_SHOW)
    EndIf
    EndFunc

    [/autoit]

    Benötigtes Include siehe Anhang, die Login Maske am Anfang kann einfach ohne Eingaben bestätigt werden. Ein Klick auf den "Starten Button" führt zu einem netten slide Effekt. Im Menüpunkt "Globale Einstellungen" sieht man außerdem noch etwas andere Checkboxen als üblich.

    Dateien

    GUICtrlOnHover.au3 24,96 kB – 391 Downloads
  • iniread error

    • misterspeed
    • 21. Mai 2014 um 19:32

    Dann lies doch bitte mal die Hilfe zu den beiden Funktionen:

    [autoit]

    IniRead
    IniWrite

    [/autoit]

    Da wirst du sehr schnell merken, dass beide Funktionen 4 und nicht 3 Parameter von dir erwarten.

    Eine Standard ini ist btw immer so aufgebaut:

    Code
    [Sektionsname]
    Schlüssel=Wert

    Daraus ergibt sich logischerweise auch, dass du alle 3 Dinge plus den Pfad zur ini beim Schreiben angeben musst. Beim lesen kannst den Wert natürlich nicht angeben, denn den möchtest du ja wissen. Stattdessen musst du aber einen Defaultwert angeben für den Fall, dass die ini nicht gelesen werden konnte (z.B. weil der Schlüssel nicht existiert).

  • Endlosschleife beginnt nicht

    • misterspeed
    • 21. Mai 2014 um 17:10

    Ich habe im übrigen die Nutzung von timerinit/timerdiff empfohlen, weil diese Lösung das Script nicht blockieren würde. Sleep() ist hingegen blockierend, was unter anderem auch das Beenden des Scriptes verhindern bzw verzögern könnte und sich ggf. auf weitere Funktionalität negativ auswirkt.

  • Endlosschleife beginnt nicht

    • misterspeed
    • 20. Mai 2014 um 18:07
    Zitat von kenny77

    mache ich das, dann läd die schleife aber wieder nicht

    [autoit]


    #include <IE.au3>
    $oIE = _IECreate("http://www.meineseite.de")
    $i=0
    while $i<10
    _IENavigate($oIE,"javascript:javascript:link()", 0)
    $i=$i+1
    wend

    [/autoit]
    Alles anzeigen

    Dir ist schon klar, dass die 10 Schleifendurchläufe ratzfatz vorbei sind, insbesondere wenn du nichtmal wartest bis _IEnavigate() fertig ist? Das ist genauso wie wenn du 10mal auf den Reload Button drückst und dich wunderst, dass die ersten 9mal nix geladen wurde weil du nochmal gedrückt hast bevor er fertig war (nur eben tausend mal schneller).

    Da du im ersten Posting weder etwas von 10 Durchläufen, noch von 10 Durchläufen in wenigen ms geschrieben hast, sondern von "alle 5 Minuten" solltest du dir wohl eher mal diese Funktionen anschauen:

    [autoit]


    timerinit()
    timerdiff()
    if...then...else

    [/autoit]
  • Postbank Seite kann nicht aufgerufen werden

    • misterspeed
    • 17. Mai 2014 um 12:35
    Zitat von Zibbel2000

    Du solltest die https-Site auf die Liste vertrauenswürdiger Seiten setzen.
    Falls es dann immer noch nicht funktioniert, überprüfe mal, ob Du das entsprechende root-Zertifikat hast, damit die Vertrauenskette aufgebaut werden kann.

    Also ich gehe doch mal stark davon aus, dass keine Bank dieser Welt irgendeine Wald und Wiesen Zertifizierungsstelle für ihre Zertifikate nutzt und die entsprechenden Root Zertifikate in allen gängigen Browsern bereits enthalten sind. Alles andere würde mir wirklich zu denken geben.

    Ich würde den Fehler im übrigen nicht unbedingt im Browser suchen (manuell gehts ja schließlich), sondern vielleicht dann doch eher am Virenschutz/Firewall. Ein Programm, welches eine Banking URL im IE öffnet ist ganz weit oben bei der Verhaltensanalyse und steht sehr schnell unter dem Verdacht eines Bankingtrojaners. Es würde mich daher nicht überraschen wenn solches Verhalten unterbunden wird.

  • Fenster mit sich ändernden Namen auf zweiten Monitor schieben

    • misterspeed
    • 14. Mai 2014 um 20:37

    Erstmal was zur korrekten Nutzung des Forums hier...

    Poste Autoit Quellcode bitte immer so:

    • [Blockierte Grafik: http://i.imgur.com/0Ad5mrS.png]
    • sinnvollerweise nur bei mehr als 20 Zeilen
    • Formatierten Autoit Quellcode zwischen den Autoit BBcodes einfügen

    Nun zu deinem Code, der immernoch absoluter murks ist:

    [autoit]


    While 1=1 ; while 1 würds genauso tun...
    Local $hWnd = WinWaitActive("VI ","") ; erstmal verwendet man local normalerweie in Funktionen, außerhalb wird mit global deklariert
    Local $aPos = WinGetPos($hWnd) ; zum anderen deklariert man Variablen nicht unendlich oft in Schleifen, sondern bevorzugt nur einmal bevor man sie nutzt, sprich bei dir vor der Schleife
    If $aPos[0] <> "1080" Then ; gewöhn dir besser garnicht erst an Zahlen mit Strings zu vergleichen, die Werte die wingetpos ermittelt sind Zahlen und keine Strings, also vergleich sie bitte auch mit Zahlen (sprich lass die Anführungszeichen weg)
    WinMove($hWnd, "", 1080, 340, 400, 400, 2) ; und wie kommst du darauf, dass alle Monitore auf denne das Script läuft die gleiche Auflösung haben und 1080 überall auf dem 2. Monitor liegen wird?
    ElseIf IsArray($aPos[0]) = "1080" Then
    #cs
    fataler Fehler in mehrerlei Hinsicht, zum einen übergibt man an isArray() ein Array und nicht den Wert eines Arrays, zum anderen ist es längst zu spät zu prüfen ob du überhaupt ein Array hast, das musst du tun bevor du die Variable zum ersten mal als Array ansprichst!
    Ansonsten stürzt dir das Script bereits 2 Zeilen weiter oben ab, wenn die Daten des Fensters nicht ermittelt werden konnten. isArray() gibt außerdem immer 1 oder 0 zurück, der Vergleich mit 1080 ist also sinnfrei, auch hier im übrigen wieder der Vergleich mit einem String.
    Strings werden immer als 0 interpretiert wenn man mit Zahlen vergleicht, dadurch funktioniert der Vergleich sogar, was aber sicher nicht von dir gewollt war.
    #ce
    EndIf
    WEnd

    [/autoit]

    Hier die korrigierte Fassung:

    [autoit]


    Global $hWnd, $aPos

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

    While 1
    $hWnd = WinWaitActive("VI ","") ; besser etwas eindeutigeres wie die class oder einen regulären Ausdruck nutzen (siehe chesstiger), statt winwaitactive(...) könnte auch "if winexists(...) then" Sinn machen
    $aPos = WinGetPos($hWnd)
    If IsArray($aPos) then ; stellt sicher, dass $aPos ein Array ist und nach dem Schema $aPos[x] angesprochen werden kann
    If $aPos[0] <> 1080 Then
    WinMove($hWnd, "", 1080, 340, 400, 400, 2)
    Else
    ; wolltest du überhaupt etwas tun wenn das Fenster bereits da ist wo es sein soll? ich denke nicht, das else kann also wohl weg.
    EndIf
    EndIf
    ;Sleep(100) ; es sollte ja reichen wenn du 10 mal in der Sekunde prüfst ob da ein Fenster zu verschieben ist oder nicht (wäre relevant wenn du winexists verwendest)
    WEnd

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

    ; wie wolltest du das Programm eigentlich beenden? Per Taskmanager oder was?

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™