Technobase.FM Player

  • Naja.. er ist schlicht 'schlecht' gemacht, sry. Wie man sieht musstest du schon wieder und wieder jede menge fixen, .. und auf jedem halbwegs guten rechner( 32-bit win7prof, 4gbram, quadcore,..etc) funktioniiert es NICHT, wenn es auf deinem pc funktioniert, schön. Ich hab aber vor langer zeit auch mal nen radio player gemacht siehe
    https://autoit.de/www.michael-jakob.net/downloads
    Funktioniert auf jedem OS/betriebssystem, da er super gecodet ist^-^. alles wird gut ;))
    [anfänger? lol]

  • Naja.. er ist schlicht 'schlecht' gemacht, sry. Wie man sieht musstest du schon wieder und wieder jede menge fixen, .. und auf jedem halbwegs guten rechner( 32-bit win7prof, 4gbram, quadcore,..etc) funktioniiert es NICHT, wenn es auf deinem pc funktioniert, schön. Ich hab aber vor langer zeit auch mal nen radio player gemacht siehe
    https://autoit.de/www.michael-jakob.net/downloads
    Funktioniert auf jedem OS/betriebssystem, da er super gecodet ist^-^. alles wird gut ;))
    [anfänger? lol]

    Wenns bei dir schon nicht funktioniert kannst wenigstens dazu beitragen DASS ES FUNKTIONIERT.
    Wenn du n Problem damit hast dann tust du mir Leid.

  • Update:
    -Sender können wieder gelöscht werden
    -Bugfix

    Einmal editiert, zuletzt von Calypso (21. Dezember 2009 um 21:57)

  • Kleines Update:
    -unbegrenzt viele Sender
    -Bugfix

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <Security.au3>
    #include <Memory.au3>
    #include <UDFGlobalID.au3>
    #include <GuiStatusBar.au3>
    #include <GUIEdit.au3>
    #include-once
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Constants.au3>
    #include <GUIEdit.au3>
    #include <GuiToolbar.au3>
    #include <inet.au3>
    #include <array.au3>

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

    $iread5 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "AllwaysOnTop", "0")
    $iread6 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MinimizeToTray", "0")
    $iread7 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Transparency", "0")
    $iread8 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "TransPercent", "25")
    $iread9 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadios", "10")
    $iread10 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadio", "0")

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Technobase.FM Player by Calypso BETA", 310, 420, 394, 301)
    If $iread5 = "1" Then
    WinSetOnTop("Technobase.FM Player by Calypso BETA", "", 1)
    EndIf
    If $iread6 = "1" Then
    Opt("TrayMenuMode", 1)
    $muteitem = TrayCreateItem("Mute")
    TrayCreateItem("")
    $showitem = TrayCreateItem("Show")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")
    EndIf
    If $iread7 = "1" Then
    WinSetTrans($Form1,"", $iread8*10)
    EndIf
    $oWMP = ObjCreate("WMPLayer.ocx")
    $ername = $iread9
    $erurl = $ername
    #Region tab1
    $Tab1 = GUICtrlCreateTab(0, 0, 600, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Play")
    Dim $iniread[$ername+1]
    For $4 = 1 To $ername Step 1
    $iniread[$4] = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $4, "-")
    Next
    Global $er
    For $5 = 1 To $ername Step 1
    $er = $er & "|" & $iniread[$5]
    Next
    $Combo1 = GUICtrlCreateCombo("TechnoBase.FM", 5, 35, 200, 30)
    GUICtrlSetData(-1, "HouseTime.FM|HardBase.FM|TranceBase.FM|CoreTime.FM"& $er ,"TechnoBase.FM")
    $font = "BankGothic Md BT"
    $Button1 = GUICtrlCreateButton("Start", 160, 65, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("Stopp", 160, 100, 75, 25)
    $Button3 = GUICtrlCreateButton("Ändern", 220, 35, 75, 25, 0)
    $label11 = GUICtrlCreateLabel("", 80, 160, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label12 = GUICtrlCreateLabel("", 80, 185, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label13 = GUICtrlCreateLabel("", 80, 210, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label14 = GUICtrlCreateLabel("", 80, 235, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label15 = GUICtrlCreateLabel("", 80, 260, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label16 = GUICtrlCreateLabel("", 80, 285, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label17 = GUICtrlCreateLabel("", 80, 310, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label18 = GUICtrlCreateLabel("", 80, 335, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label19 = GUICtrlCreateLabel("", 80, 360, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    $label30 = GUICtrlCreateLabel("", 80, 385, 220, 25)
    GUICtrlSetColor(-1, 0xff0000)
    GUICtrlSetBkColor(-2, 0x000000)
    GUICtrlSetFont(-3, 15, 10000, 0, $font)
    GUICtrlSetData($label11, "Disconnected")
    $Progress1 = GUICtrlCreateProgress(250, 65, 25, 60, $PBS_VERTICAL)
    $Label1 = GUICtrlCreateLabel("Lautstärke:", 6, 150)
    $slVolume = GUICtrlCreateSlider(12, 166, 52, 229, BitOR($TBS_VERT, $TBS_AUTOTICKS))
    GUICtrlSetData(-1, $oWMP.settings.volume())
    GUICtrlSetState($slVolume, $GUI_DISABLE)
    #EndRegion tab1

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

    #Region tab2
    $Tab2 = GUICtrlCreateTab(0, 0, 600, 0)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Einstellungen")
    GUICtrlCreateGroup("Hotkeys", 10, 40, 280, 120)
    $label3 = GUICtrlCreateLabel("Lauter:", 30, 105)
    $label4 = GUICtrlCreateLabel("Leiser:", 30, 125)
    $label5 = GUICtrlCreateLabel("-", 90, 105, 100)
    $label6 = GUICtrlCreateLabel("-", 90, 125, 100)
    $label7 = GUICtrlCreateLabel("Start:", 30, 65)
    $label8 = GUICtrlCreateLabel("Stopp:", 30, 85)
    $label9 = GUICtrlCreateLabel("-", 90, 65, 100)
    $label10 = GUICtrlCreateLabel("-", 90, 85, 100)
    $Button4 = GUICtrlCreateButton("&Ändern", 180, 120, 100, 25, 0)
    ;~ GUICtrlSetState(-1, $GUI_DISABLE)
    $Checkbox1 = GUICtrlCreateCheckbox("Immer im Vordergrund", 20, 170)
    If $iread5 = "1" Then
    GUICtrlSetState($Checkbox1, $GUI_CHECKED)
    EndIf
    $Checkbox2 = GUICtrlCreateCheckbox("Minimize to Tray", 20, 195)
    If $iread6 = "1" Then
    GUICtrlSetState($Checkbox2, $GUI_CHECKED)
    EndIf
    $Checkbox3 = GUICtrlCreateCheckbox("Transperenz", 20, 220)
    If $iread7 = "1" Then
    GUICtrlSetState($Checkbox3, $GUI_CHECKED)
    EndIf
    $Checkbox4 = GUICtrlCreateCheckbox("Maximale Anzahl an Sendern", 20, 245)
    If $iread10 = "1" Then
    GUICtrlSetState($Checkbox4, $GUI_CHECKED)
    EndIf
    $input1 = GUICtrlCreateInput($iread9, 180, 245, 40, 20)
    GUICtrlCreateUpdown($input1)
    ;~ GUICtrlSetData($input1, $iread1)
    $Combo2 = GUICtrlCreateCombo($iread8, 180, 220, 40, 20)
    GUICtrlSetData($Combo2, "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25")
    $Button5 = GUICtrlCreateButton("&Speichern", 200, 380, 80, 25, 0)
    #EndRegion tab2
    #Region tab3
    $Tab3 = GUICtrlCreateTab(0, 0, 600, 0)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Tracklist")
    $source = _INetGetSource("http://www.technobase.fm/tracklist.php")
    $sRegExp2 = StringReplace($source,"amp;","&")
    $sRegExp = StringRegExp($sRegExp2, 'border="\d" src=".+" alt=".+" title="(.+?)" />', 3)
    $Button31 = GUICtrlCreateButton("&Aktualisieren", 220, 20, 85, 25)
    Dim $label3[11]
    For $a = 0 to 10 Step 1
    $label3[$a]=GUICtrlCreateLabel($sRegExp[$a], 20, $a*20+50, 300)
    Next
    #EndRegion tab3
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    #Region Vars
    $iread1 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeylauter", "-")
    $iread2 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeyleiser", "-")
    $iread3 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystart", "-")
    $iread4 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystopp", "-")
    GUICtrlSetData($label5, $iread1)
    GUICtrlSetData($label6, $iread2)
    GUICtrlSetData($label9, $iread3)
    GUICtrlSetData($label10, $iread4)
    $hotkey1 = HotKeySet($iread1, "hotkeylauter")
    $hotkey2 = HotKeySet($iread2, "hotkeyleiser")
    $hotkey3 = HotKeySet($iread3, "hotkeystart")
    $hotkey4 = HotKeySet($iread4, "hotkeystopp")

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

    Dim $arrStatus[12]
    $arrStatus[0] = 'Undefined'
    $arrStatus[1] = 'Stopped'
    $arrStatus[2] = 'Paused'
    $arrStatus[3] = 'Playing'
    $arrStatus[4] = 'ScanForward'
    $arrStatus[5] = 'ScanReverse'
    $arrStatus[6] = 'Buffering'
    $arrStatus[7] = 'Waiting'
    $arrStatus[8] = 'MediaEnded'
    $arrStatus[9] = 'Transitioning'
    $arrStatus[10] = 'Ready'
    $arrStatus[11] = 'Reconnecting'
    $lastStatus = 0
    $statCombo1 = 0
    $statud = 0
    #EndRegion Vars

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

    While 1
    $nMsg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetData($label11, "Connecting")
    GUICtrlSetData($label12, "")
    GUICtrlSetData($label11, "")
    GUICtrlSetData($label14, "")
    Dim $iniread1[$erurl+1]
    For $3 = 1 To $erurl Step 1
    $iniread1[$3] = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $3, "-")
    Next
    $readcombo1 = GUICtrlRead($Combo1)
    Select
    Case $readcombo1 = "TechnoBase.FM"
    $oWMP.URL = 'http://listen.technobase.fm/tunein-dsl-asx'
    $editdata1 = "technobase.fm"
    Case $readcombo1 = "HouseTime.FM"
    $oWMP.URL = 'http://listen.housetime.fm/tunein-dsl-asx'
    $editdata1 = "housetime.fm"
    Case $readcombo1 = "HardBase.FM"
    $oWMP.URL = 'http://listen.hardbase.fm/tunein-dsl-asx'
    $editdata1 = "hardbase.fm"
    Case $readcombo1 = "TranceBase.FM"
    $oWMP.URL = 'http://listen.trancebase.fm/tunein-dsl-asx'
    $editdata1 = "trancebase.fm"
    Case $readcombo1 = "CoreTime.FM"
    $oWMP.URL = 'http://listen.coretime.fm/tunein-dsl-asx'
    $editdata1 = "coretime.fm"
    Case Else
    For $6 = 1 To $ername Step 1
    $readcombo1 = $iniread[$6]
    $oWMP.URL = $iniread1[$6]
    $editdata1 = $iniread[$6]
    Next
    EndSelect
    GUICtrlSetData($label11, "Connecting")
    $oWMP.controls.play()
    ;~ Do
    ;~ Sleep(100)
    ;~ Until $oWMP.playstate = 7
    GUICtrlSetData($Progress1, 100)
    GUICtrlSetData($label12, "Buffering")
    $oWMP.settings.volume = 50
    GUICtrlSetState($slVolume, $GUI_ENABLE)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Do
    Sleep(100)
    Until $oWMP.playstate = 3
    GUICtrlSetData($label13, "Listening:")
    GUICtrlSetData($label14, $editdata1)
    Case $Button2
    $oWMP.controls.stop()
    GUICtrlSetData($label11, "Disconnected")
    GUICtrlSetData($label12, "")
    GUICtrlSetData($label13, "")
    GUICtrlSetData($label14, "")
    GUICtrlSetData($label15, "")
    GUICtrlSetData($label16, "")
    GUICtrlSetData($label17, "")
    GUICtrlSetData($label18, "")
    GUICtrlSetState($slVolume, $GUI_DISABLE)
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetData($Progress1, 0)
    Case $Button3
    gui()
    Case $Button4
    GUISetState(@SW_DISABLE, $Form1)
    #Region VIRTUAL_KEYS
    Global Const $VKEY_LBUTTON = 0x01, $VKEY_RBUTTON = 0x02, $VKEY_CANCEL = 0x03, $VKEY_MBUTTON = 0x04
    Global Const $VKEY_XBUTTON1 = 0x05, $VKEY_XBUTTON2 = 0x06, $VKEY_BACK = 0x08, $VKEY_TAB = 0x09
    Global Const $VKEY_CLEAR = 0x0C, $VKEY_RETURN = 0x0D, $VKEY_SHIFT = 0x10, $VKEY_CONTROL = 0x11
    Global Const $VKEY_MENU = 0x12, $VKEY_PAUSE = 0x13, $VKEY_CAPITAL = 0x14, $VKEY_KANA = 0x15
    Global Const $VKEY_HANGEUL = 0x15, $VKEY_HANGUL = 0x15, $VKEY_JUNJA = 0x17, $VKEY_FINAL = 0x18
    Global Const $VKEY_HANJA = 0x19, $VKEY_KANJI = 0x19, $VKEY_ESCAPE = 0x1B, $VKEY_CONVERT = 0x1C
    Global Const $VKEY_NONCONVERT = 0x1D, $VKEY_ACCEPT = 0x1E, $VKEY_MODECHANGE = 0x1F, $VKEY_SPACE = 0x20
    Global Const $VKEY_PRIOR = 0x21, $VKEY_NEXT = 0x22, $VKEY_END = 0x23, $VKEY_HOME = 0x24
    Global Const $VKEY_LEFT = 0x25, $VKEY_UP = 0x26, $VKEY_RIGHT = 0x27, $VKEY_DOWN = 0x28
    Global Const $VKEY_SELECT = 0x29, $VKEY_PRINT = 0x2A, $VKEY_EXECUTE = 0x2B, $VKEY_SNAPSHOT = 0x2C
    Global Const $VKEY_INSERT = 0x2D, $VKEY_DELETE = 0x2E, $VKEY_HELP = 0x2F, $VKEY_LWIN = 0x5B
    Global Const $VKEY_RWIN = 0x5C, $VKEY_APPS = 0x5D, $VKEY_SLEEP = 0x5F, $VKEY_NUMPAD0 = 0x60
    Global Const $VKEY_NUMPAD1 = 0x61, $VKEY_NUMPAD2 = 0x62, $VKEY_NUMPAD3 = 0x63, $VKEY_NUMPAD4 = 0x64
    Global Const $VKEY_NUMPAD5 = 0x65, $VKEY_NUMPAD6 = 0x66, $VKEY_NUMPAD7 = 0x67, $VKEY_NUMPAD8 = 0x68
    Global Const $VKEY_NUMPAD9 = 0x69, $VKEY_MULTIPLY = 0x6A, $VKEY_ADD = 0x6B, $VKEY_SEPARATOR = 0x6C
    Global Const $VKEY_SUBTRACT = 0x6D, $VKEY_DECIMAL = 0x6E, $VKEY_DIVIDE = 0x6F, $VKEY_F1 = 0x70
    Global Const $VKEY_F2 = 0x71, $VKEY_F3 = 0x72, $VKEY_F4 = 0x73, $VKEY_F5 = 0x74
    Global Const $VKEY_F6 = 0x75, $VKEY_F7 = 0x76, $VKEY_F8 = 0x77, $VKEY_F9 = 0x78
    Global Const $VKEY_F10 = 0x79, $VKEY_F11 = 0x7A, $VKEY_F12 = 0x7B, $VKEY_F13 = 0x7C
    Global Const $VKEY_F14 = 0x7D, $VKEY_F15 = 0x7E, $VKEY_F16 = 0x7F, $VKEY_F17 = 0x80
    Global Const $VKEY_F18 = 0x81, $VKEY_F19 = 0x82, $VKEY_F20 = 0x83, $VKEY_F21 = 0x84
    Global Const $VKEY_F22 = 0x85, $VKEY_F23 = 0x86, $VKEY_F24 = 0x87, $VKEY_NUMLOCK = 0x90
    Global Const $VKEY_SCROLL = 0x91, $VKEY_OEM_NEC_EQUAL = 0x92, $VKEY_OEM_FJ_JISHO = 0x92, $VKEY_OEM_FJ_MASSHOU = 0x93
    Global Const $VKEY_OEM_FJ_TOUROKU = 0x94, $VKEY_OEM_FJ_LOYA = 0x95, $VKEY_OEM_FJ_ROYA = 0x96
    Global Const $VKEY_LSHIFT = 0xA0, $VKEY_RSHIFT = 0xA1, $VKEY_LCONTROL = 0xA2, $VKEY_RCONTROL = 0xA3
    Global Const $VKEY_LMENU = 0xA4, $VKEY_RMENU = 0xA5, $VKEY_BROWSER_BACK = 0xA6, $VKEY_BROWSER_FORWARD = 0xA7
    Global Const $VKEY_BROWSER_REFRESH = 0xA8, $VKEY_BROWSER_STOP = 0xA9, $VKEY_BROWSER_SEARCH = 0xAA, $VKEY_BROWSER_FAVORITES = 0xAB
    Global Const $VKEY_BROWSER_HOME = 0xAC, $VKEY_VOLUME_MUTE = 0xAD, $VKEY_VOLUME_DOWN = 0xAE, $VKEY_VOLUME_UP = 0xAF
    Global Const $VKEY_MEDIA_NEXT_TRACK = 0xB0, $VKEY_MEDIA_PREV_TRACK = 0xB1, $VKEY_MEDIA_STOP = 0xB2, $VKEY_MEDIA_PLAY_PAUSE = 0xB3
    Global Const $VKEY_LAUNCH_MAIL = 0xB4, $VKEY_LAUNCH_MEDIA_SELECT = 0xB5, $VKEY_LAUNCH_APP1 = 0xB6, $VKEY_LAUNCH_APP2 = 0xB7
    Global Const $VKEY_OEM_1 = 0xBA, $VKEY_OEM_PLUS = 0xBB, $VKEY_OEM_COMMA = 0xBC, $VKEY_OEM_MINUS = 0xBD
    Global Const $VKEY_OEM_PERIOD = 0xBE, $VKEY_OEM_2 = 0xBF, $VKEY_OEM_3 = 0xC0, $VKEY_OEM_4 = 0xDB
    Global Const $VKEY_OEM_5 = 0xDC, $VKEY_OEM_6 = 0xDD, $VKEY_OEM_7 = 0xDE, $VKEY_OEM_8 = 0xDF
    Global Const $VKEY_OEM_AX = 0xE1, $VKEY_OEM_102 = 0xE2, $VKEY_ICO_HELP = 0xE3, $VKEY_ICO_00 = 0xE4
    Global Const $VKEY_PROCESSKEY = 0xE5, $VKEY_ICO_CLEAR = 0xE6, $VKEY_PACKET = 0xE7, $VKEY_OEM_RESET = 0xE9
    Global Const $VKEY_OEM_JUMP = 0xEA, $VKEY_OEM_PA1 = 0xEB, $VKEY_OEM_PA2 = 0xEC, $VKEY_OEM_PA3 = 0xED
    Global Const $VKEY_OEM_WSCTRL = 0xEE, $VKEY_OEM_CUSEL = 0xEF, $VKEY_OEM_ATTN = 0xF0, $VKEY_OEM_FINISH = 0xF1
    Global Const $VKEY_OEM_COPY = 0xF2, $VKEY_OEM_AUTO = 0xF3, $VKEY_OEM_ENLW = 0xF4, $VKEY_OEM_BACKTAB = 0xF5
    Global Const $VKEY_ATTN = 0xF6, $VKEY_CRSEL = 0xF7, $VKEY_EXSEL = 0xF8, $VKEY_EREOF = 0xF9
    Global Const $VKEY_PLAY = 0xFA, $VKEY_ZOOM = 0xFB, $VKEY_NONAME = 0xFC, $VKEY_PA1 = 0xFD, $VKEY_OEM_CLEAR = 0xFE
    #EndRegion VIRTUAL_KEYS
    #Region GLOBAL_VARIABLES
    ; This maps virtual keycodes to AutoIt equivalents
    Global $gaVirtkeyMap[75][2] = [[$VKEY_SPACE, "{SPACE}"],[$VKEY_RETURN, "{ENTER}"],[$VKEY_MENU, "{ALT}"],[$VKEY_BACK, "{BS}"], _ ; 4
    [$VKEY_DELETE, "{DEL}"],[$VKEY_UP, "{UP}"],[$VKEY_DOWN, "{DOWN}"],[$VKEY_LEFT, "{LEFT}"], _ ; 8
    [$VKEY_RIGHT, "{RIGHT}"],[$VKEY_HOME, "{HOME}"],[$VKEY_END, "{END}"],[$VKEY_ESCAPE, "{ESC}"], _ ; 12
    [$VKEY_INSERT, "{INS}"],[$VKEY_PRIOR, "{PGUP}"],[$VKEY_NEXT, "{PGDN}"],[$VKEY_F1, "{F1}"], _ ; 16
    [$VKEY_F2, "{F2}"],[$VKEY_F3, "{F3}"],[$VKEY_F4, "{F4}"],[$VKEY_F5, "{F5}"], _ ; 20
    [$VKEY_F6, "{F6}"],[$VKEY_F7, "{F7}"],[$VKEY_F8, "{F8}"],[$VKEY_F9, "{F9}"], _ ; 24
    [$VKEY_F10, "{F10}"],[$VKEY_F11, "{F11}"],[$VKEY_F12, "{F12}"],[$VKEY_TAB, "{TAB}"], _ ; 28
    [$VKEY_PRINT, "{PRINTSCREEN}"],[$VKEY_LWIN, "{LWIN}"],[$VKEY_RWIN, "{RWIN}"], _ ; 31
    [$VKEY_NUMLOCK, "{NUMLOCK}"],[$VKEY_CAPITAL, "{CAPSLOCK}"],[$VKEY_SCROLL, "{SCROLLLOCK}"], _ ; 34
    [$VKEY_PAUSE, "{PAUSE}"],[$VKEY_NUMPAD0, "{NUMPAD0}"],[$VKEY_NUMPAD1, "{NUMPAD1}"], _ ; 37
    [$VKEY_NUMPAD2, "{NUMPAD2}"],[$VKEY_NUMPAD3, "{NUMPAD3}"],[$VKEY_NUMPAD4, "{NUMPAD4}"], _ ; 40
    [$VKEY_NUMPAD5, "{NUMPAD5}"],[$VKEY_NUMPAD6, "{NUMPAD6}"],[$VKEY_NUMPAD7, "{NUMPAD7}"], _ ; 43
    [$VKEY_NUMPAD8, "{NUMPAD8}"],[$VKEY_NUMPAD9, "{NUMPAD0}"],[$VKEY_ADD, "{NUMPADADD}"], _ ; 46
    [$VKEY_SUBTRACT, "{NUMPADSUB}"],[$VKEY_DIVIDE, "{NUMPADDIV}"],[$VKEY_DECIMAL, "{NUMPADDOT}"], _ ; 49
    [$VKEY_APPS, "{APPSKEY}"],[$VKEY_LMENU, "{LALT}"],[$VKEY_RMENU, "{RALT}"], _ ; 52
    [$VKEY_LCONTROL, "{LCTRL}"],[$VKEY_RCONTROL, "{RCTRL}"],[$VKEY_LSHIFT, "{LSHIFT}"], _ ; 55
    [$VKEY_RSHIFT, "{RSHIFT}"],[$VKEY_SLEEP, "{SLEEP}"],[$VKEY_BROWSER_BACK, "{BROWSER_BACK}"], _ ; 58
    [$VKEY_BROWSER_FORWARD, "{BROWSER_FORWARD}"],[$VKEY_BROWSER_REFRESH, "{BROWSER_REFRESH}"], _ ; 60
    [$VKEY_BROWSER_STOP, "{BROWSER_STOP}"],[$VKEY_BROWSER_SEARCH, "{BROWSER_SEARCH}"], _ ; 62
    [$VKEY_BROWSER_FAVORITES, "{BROWSER_FAVORITES}"],[$VKEY_BROWSER_HOME, "{BROWSER_HOME}"], _ ; 64
    [$VKEY_VOLUME_MUTE, "{VOLUME_MUTE}"],[$VKEY_VOLUME_DOWN, "{VOLUME_DOWN}"],[$VKEY_VOLUME_UP, "{VOLUME_UP}"], _ ; 67
    [$VKEY_MEDIA_NEXT_TRACK, "{MEDIA_NEXT}"],[$VKEY_MEDIA_PREV_TRACK, "{MEDIA_PREV}"], _ ; 69
    [$VKEY_MEDIA_STOP, "{MEDIA_STOP}"],[$VKEY_MEDIA_PLAY_PAUSE, "{MEDIA_PLAY_PAUSE}"], _ ; 71
    [$VKEY_LAUNCH_MAIL, "{LAUNCH_MAIL}"],[$VKEY_LAUNCH_MEDIA_SELECT, "{LAUNCH_MEDIA}"], _ ; 73
    [$VKEY_LAUNCH_APP1, "{LAUNCH_APP1}"],[$VKEY_LAUNCH_APP2, "{LAUNCH_APP2}"]] ; 75
    Global $gaHotkeyList[20][7]
    #EndRegion GLOBAL_VARIABLES
    $hkfenster = GUICreate("Tastenbelegung ändern", 300, 230)
    GUICtrlCreateLabel("Start :", 8, 10)
    GUICtrlCreateLabel("Stopp", 8, 45)
    GUICtrlCreateLabel("Lauter :", 8, 80)
    GUICtrlCreateLabel("Leiser :", 8, 115)

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

    $okbutton = GUICtrlCreateButton("&Speichern", 110, 180, 80, 23)
    Dim $cEdit1 = GUICtrlCreateInput("-", 110, 10, 130, 24)
    Dim $hwndEdit1 = GUICtrlGetHandle($cEdit1)
    Dim $cEdit2 = GUICtrlCreateInput("-", 110, 45, 130, 24)
    Dim $hwndEdit2 = GUICtrlGetHandle($cEdit2)
    Dim $cEdit3 = GUICtrlCreateInput("-", 110, 80, 130, 24)
    Dim $hwndEdit3 = GUICtrlGetHandle($cEdit3)
    Dim $cEdit4 = GUICtrlCreateInput("-", 110, 115, 130, 24)
    Dim $hwndEdit4 = GUICtrlGetHandle($cEdit4)
    GUISetState(@SW_SHOW)
    _ToggleAsHotkeyControl($hwndEdit1)
    _ToggleAsHotkeyControl($hwndEdit2)
    _ToggleAsHotkeyControl($hwndEdit3)
    _ToggleAsHotkeyControl($hwndEdit4)
    While 1
    Sleep(50)
    $guimsg = GUIGetMsg()
    Switch $guimsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($hkfenster)
    ExitLoop
    Case $okbutton
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystart", _GetAutoItHotkey($hwndEdit1))
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystopp", _GetAutoItHotkey($hwndEdit2))
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeylauter", _GetAutoItHotkey($hwndEdit3))
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeyleiser", _GetAutoItHotkey($hwndEdit4))
    GUIDelete($hkfenster)
    ExitLoop
    EndSwitch
    WEnd
    GUISetState(@SW_ENABLE, $Form1)
    $iread1 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeylauter", "-")
    $iread2 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeyleiser", "-")
    $iread3 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystart", "-")
    $iread4 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystopp", "-")
    GUICtrlSetData($label5, $iread1)
    GUICtrlSetData($label6, $iread2)
    GUICtrlSetData($label9, $iread3)
    GUICtrlSetData($label10, $iread4)
    $hotkey1 = HotKeySet($iread1, "hotkeylauter")
    $hotkey2 = HotKeySet($iread2, "hotkeyleiser")
    $hotkey3 = HotKeySet($iread3, "hotkeystart")
    $hotkey4 = HotKeySet($iread4, "hotkeystopp")
    Case $Button5
    $readcheck1 = GUICtrlRead($Checkbox1)
    $readcheck2 = GUICtrlRead($Checkbox2)
    $readcheck3 = GUICtrlRead($Checkbox3)
    $readcheck4 = GUICtrlRead($Checkbox4)
    $readcombo2 = GUICtrlRead($Combo2)
    $readud = GUICtrlRead($input1)
    If $readcheck1 = $GUI_CHECKED Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "AllwaysOnTop", "1")
    Else
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "AllwaysOnTop", "0")
    EndIf
    If $readcheck2 = $GUI_CHECKED Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MinimizeToTray", "1")
    Else
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MinimizeToTray", "0")
    EndIf
    If $readcheck3 = $GUI_CHECKED Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Transparency", "1")
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "TransPercent", $readcombo2)
    Else
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Transparency", "0")
    EndIf
    If $readcheck4 = $GUI_CHECKED And $readud <> "10" Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadio", "1")
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadios", $readud)
    EndIf
    $msgbox2 = MsgBox(68, "Info", "Damit die Änderungen wirksam werden muss das Programm neugestartet werden.")
    Do
    Select
    Case $msgbox2 = 6
    ;~ ShellExecute(@ScriptDir&"\technoplayer.exe")
    Exit
    Case $msgbox2 = 7
    ExitLoop
    EndSelect
    Until WinExists("Info")

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

    Case $GUI_EVENT_MINIMIZE
    If $iread6 = "1" Then
    GUISetState(@SW_HIDE)
    TraySetState(1)
    Else
    GUISetState(@SW_MINIMIZE)
    EndIf
    Case $Button31
    $readcombo3 = GUICtrlRead($Combo1)
    $source1 = _INetGetSource("http://www."&$readcombo3&"/tracklist.php")
    $sRegExp2 = StringReplace($source1, "amp;", "&")
    $sRegExp1 = StringRegExp($sRegExp2, 'border="\d" src=".+" alt=".+" title="(.+?)" />', 3)
    For $b = 0 to 10 Step 1
    GUICtrlSetData($label3[$b], $sRegExp1[$b])
    Next
    EndSwitch
    If $iread6 = "1" Then
    Switch $tmsg
    Case $TRAY_EVENT_PRIMARYDOWN
    If $iread6 = "1" Then
    If BitAND(WinGetState($Form1), 16) Then
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
    TraySetState(2)
    EndIf
    EndIf
    Case $showitem
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
    TraySetState(2)
    Case $muteitem
    TrayItemSetText($muteitem, "Unmute")
    If $oWMP.settings.mute = False Then
    $oWMP.settings.mute = True
    Else
    $oWMP.settings.mute = False
    EndIf
    Case $exititem
    Exit
    EndSwitch
    EndIf
    $oWMP.settings.volume = GUICtrlRead($slVolume)
    $nstatCheck3 = GUICtrlRead($Checkbox3)
    $nstatCheck4 = GUICtrlRead ($Checkbox4)
    $curStatus = $oWMP.playstate
    If $curStatus <> $lastStatus Then
    Select
    Case $curStatus = 3
    GUICtrlSetData($label11, "Connecting")
    GUICtrlSetData($label12, "Buffering")
    GUICtrlSetData($label11, "Listening")
    GUICtrlSetData($label14, $editdata1)
    Case $curStatus = 6
    GUICtrlSetData($label11, "Connecting")
    GUICtrlSetData($label12, "Buffering")
    GUICtrlSetData($label11, "")
    GUICtrlSetData($label14, "")
    Case $curStatus = 7
    GUICtrlSetData($label11, "Connecting")
    GUICtrlSetData($label12, "Buffering")
    GUICtrlSetData($label11, "Waiting")
    GUICtrlSetData($label14, "")
    Case $curStatus = 11
    GUICtrlSetData($label11, "Reconnecting")
    GUICtrlSetData($label12, "")
    GUICtrlSetData($label11, "")
    GUICtrlSetData($label14, "")
    EndSelect
    $lastStatus = $curStatus
    EndIf
    If $statCombo1 <> $nstatCheck3 Then
    If $nstatCheck3 = $GUI_CHECKED Then
    GUICtrlSetState($Combo2, $GUI_ENABLE)
    Else
    GUICtrlSetState($Combo2, $GUI_DISABLE)
    EndIf
    $statCombo1 = $nstatCheck3
    EndIf
    If $statud <> $nstatCheck4 Then
    If $nstatCheck4 = $GUI_CHECKED Then
    GUICtrlSetState($input1, $GUI_ENABLE)
    Else
    GUICtrlSetState($input1, $GUI_DISABLE)
    EndIf
    $statud = $nstatCheck4
    EndIf
    WEnd

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

    #Region Funktionen
    Func hotkeystart()
    ControlClick("Technobase.FM Player by Calypso", "", $Button1)
    EndFunc ;==>hotkeystart

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

    Func hotkeystopp()
    ControlClick("TechnoBase.FM Player by Calypso", "", $Button2)
    EndFunc ;==>hotkeystopp

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

    Func hotkeyleiser()
    $readslider1 = GUICtrlRead($slVolume)
    GUICtrlSetData($slVolume, $readslider1 - 5)
    EndFunc ;==>hotkeyleiser

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

    Func hotkeylauter()
    $readslider1 = GUICtrlRead($slVolume)
    GUICtrlSetData($slVolume, $readslider1 + 5)
    EndFunc ;==>hotkeylauter

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

    Func gui()
    GUISetState(@SW_DISABLE, $Form1)
    #Region ### START Koda GUI section ### Form=
    $Form21 = GUICreate("Neuen Radiosender hinzufügen", 309, 284, 801, 401)
    $Tab21 = GUICtrlCreateTab(0, 0, 600, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Sender Hinzufügen")
    $Button21 = GUICtrlCreateButton("&Speichern", 208, 240, 75, 25, 0)
    $Label21 = GUICtrlCreateLabel("Name :", 32, 24, 36, 17)
    $Input21 = GUICtrlCreateInput("", 78, 24, 200, 21)
    $Label22 = GUICtrlCreateLabel("URL :", 32, 64, 36, 17)
    $Edit21 = GUICtrlCreateEdit("", 78, 64, 220, 153)
    GUICtrlSetData(-1, "")
    $Tab21 = GUICtrlCreateTab(0, 0, 600, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Sender Löschen")
    Dim $iniread2[$ername+1]
    For $7 = 1 To $ername Step 1
    $iniread2[$7] = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $7, "-")
    If $iniread2[$7] = "-" Then ExitLoop
    Next
    If $7-1 = 0 Then
    $Label23 = GUICtrlCreateLabel("Keine Sender vorhanden", 20, 70)
    Else
    Dim $Checkbox4[$7+1]
    For $8 = 1 To ($7-1) Step 1
    ;~ If $8 <> 1 Then
    $Checkbox4[$8] = GUICtrlCreateCheckbox($iniread2[$8], 20, 50+20*$8)
    ;~ EndIf
    Next
    EndIf
    $Button22 = GUICtrlCreateButton("&Löschen", 208, 240, 75, 25, 0)
    $Label24 = GUICtrlCreateLabel("Zum Löschen des Senders einen Haken in die Checkbox setzen", 20, 30, 300, 40)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($Form21)
    ExitLoop
    Case $Button21
    $input21read = GUICtrlRead($Input21)
    $Edit21read = GUICtrlRead($Edit21)
    For $1 = 1 to $ername Step 1
    If IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $1, "-") = "-" Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $1, $input21read)
    ExitLoop
    EndIf
    Next
    For $2 = 1 to $erurl Step 1
    If IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $2, "-") = "-" Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $2, $Edit21read)
    ExitLoop
    EndIf
    Next
    $msgbox1 = MsgBox(68, "Info", "Damit die Änderungen wirksam werden muss das Programm neugestartet werden.")
    Select
    Case $msgbox1 = 6
    GUIDelete($Form21)
    GUIDelete($Form1)
    ;~ ShellExecute(@ScriptDir&"\technoplayer.exe")
    Exit
    Case $msgbox1 = 7
    GUIDelete($Form21)
    ExitLoop
    EndSelect
    Case $Button22
    For $9 = 1 To ($8-1) Step 1
    If GUICtrlRead($Checkbox4[$9]) = "1" Then
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $9)
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $9)
    EndIf
    Next
    $10 = 1
    For $11 = 1 To ($8-1) Step 1
    If GUICtrlRead($Checkbox4[$11]) = $GUI_UNCHECKED Then
    $s1 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $11, "")
    $s2 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $11, "")
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $11)
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $11)
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $10, $s1)
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $10, $s2)
    $10 = $10 + 1
    EndIf
    Next
    $msgbox2 = MsgBox(68, "Info", "Damit die Änderungen wirksam werden muss das Programm neugestartet werden.")
    Select
    Case $msgbox2 = 6
    GUIDelete($Form21)
    GUIDelete($Form1)
    ;~ ShellExecute(@ScriptDir&"\technoplayer.exe")
    Exit
    Case $msgbox2 = 7
    GUIDelete($Form21)
    ExitLoop
    EndSelect
    EndSwitch
    WEnd
    GUISetState(@SW_ENABLE, $Form1)
    GUISetState(@SW_RESTORE, $Form1)
    EndFunc
    #Region HotkeyControl
    ; ==================================================================================================
    ; Func _ToggleAsHotkeyControl($hWnd)
    ;
    ; Function to toggle whether the input control is a hotkey
    ;
    ; $hWnd = Handle to the input control
    ;
    ; Returns:
    ; Success: True
    ; Failure: False, with @error set:
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _ToggleAsHotkeyControl($hWnd)
    Dim $nI, $nJ = -1, $bFound = False

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

    ; Check the current array to see if we've already got this one
    For $nI = 0 To UBound($gaHotkeyList) - 1
    If $gaHotkeyList[$nI][0] = $hWnd Then
    ; Found it
    $bFound = True
    $nJ = $nI
    ExitLoop
    ElseIf (Not IsHWnd($gaHotkeyList[$nI][0])) And ($nJ = -1) Then
    ; Remember the first empty location
    $nJ = $nI
    EndIf
    Next

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

    ; If we already had it then remove this one
    If $bFound Then
    $gaHotkeyList[$nJ][0] = ""
    _WinAPI_SetWindowLong($hWnd, 0xFFFFFFFC, $gaHotkeyList[$nJ][3])
    Return SetError(0, 0, True)
    EndIf

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

    ; If we don't have any spare slots then this is an error
    If ($nJ = -1) Then Return SetError(1, 0, False)
    ; Store the details and subclass the window
    $gaHotkeyList[$nJ][0] = $hWnd
    $gaHotkeyList[$nJ][1] = ""
    $gaHotkeyList[$nJ][2] = DllCallbackRegister("_HotkeyWindowProc", "ptr", "hwnd;uint;long;ptr")
    $gaHotkeyList[$nJ][3] = _WinAPI_SetWindowLong($hWnd, 0xFFFFFFFC, DllCallbackGetPtr($gaHotkeyList[$nJ][2]))
    $gaHotkeyList[$nJ][4] = 0
    $gaHotkeyList[$nJ][5] = False
    $gaHotkeyList[$nJ][6] = ""

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

    ; Success
    Return SetError(0, 0, True)
    EndFunc ;==>_ToggleAsHotkeyControl

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

    ; ==================================================================================================
    ; Func _HotkeyWindowProc($hWnd, $uiMsg, $wParam, $lParam)
    ;
    ; Windows procedure for subclassing an input control
    ;
    ; $hWnd = Handle to the input control
    ; $uiMsg = The windows message
    ; $wParam = WPARAM
    ; $lParam = LPARAM
    ;
    ; Returns:
    ; 1 = Don't process this message as it's already been handled
    ; Other = Use the default processing for this message
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _HotkeyWindowProc($hWnd, $uiMsg, $wParam, $lParam)
    Local $scanCode, $sAutoitKey
    Local $nIndex = _GetHandleIndex($hWnd)
    If $nIndex >= 0 Then
    If $uiMsg = $WM_GETDLGCODE Then
    If $wParam = $VKEY_RETURN Then
    $uiMsg = $WM_KEYDOWN
    EndIf
    EndIf
    Switch $uiMsg
    Case $WM_SETFOCUS
    $gaHotkeyList[$nIndex][4] = 0
    $gaHotkeyList[$nIndex][5] = False
    $gaHotkeyList[$nIndex][6] = ""
    Case $WM_SYSKEYDOWN, $WM_KEYDOWN
    $scanCode = DllCall("user32.dll", "uint", "MapVirtualKey", "uint", $wParam, "uint", 2)
    Switch $wParam
    Case $VKEY_SHIFT, $VKEY_LSHIFT, $VKEY_RSHIFT
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 1)
    Case $VKEY_CONTROL, $VKEY_LCONTROL, $VKEY_RCONTROL
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 2)
    Case $VKEY_LWIN, $VKEY_RWIN
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 4)
    Case $VKEY_MENU, $VKEY_LMENU, $VKEY_RMENU
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 8)
    $sAutoitKey = _GetAutoItCode($wParam)
    Case Else
    $sAutoitKey = _GetAutoItCode($wParam)
    If $sAutoitKey = "" Then
    Select
    Case $scanCode[0] = 65
    $sAutoitKey = Chr(97)
    Case $scanCode[0] = 66
    $sAutoitKey = Chr(98)
    Case $scanCode[0] = 67
    $sAutoitKey = Chr(99)
    Case $scanCode[0] = 68
    $sAutoitKey = Chr(100)
    Case $scanCode[0] = 69
    $sAutoitKey = Chr(101)
    Case $scanCode[0] = 70
    $sAutoitKey = Chr(102)
    Case $scanCode[0] = 71
    $sAutoitKey = Chr(103)
    Case $scanCode[0] = 72
    $sAutoitKey = Chr(104)
    Case $scanCode[0] = 73
    $sAutoitKey = Chr(105)
    Case $scanCode[0] = 74
    $sAutoitKey = Chr(106)
    Case $scanCode[0] = 75
    $sAutoitKey = Chr(107)
    Case $scanCode[0] = 76
    $sAutoitKey = Chr(108)
    Case $scanCode[0] = 77
    $sAutoitKey = Chr(109)
    Case $scanCode[0] = 78
    $sAutoitKey = Chr(110)
    Case $scanCode[0] = 79
    $sAutoitKey = Chr(111)
    Case $scanCode[0] = 80
    $sAutoitKey = Chr(112)
    Case $scanCode[0] = 81
    $sAutoitKey = Chr(113)
    Case $scanCode[0] = 82
    $sAutoitKey = Chr(114)
    Case $scanCode[0] = 83
    $sAutoitKey = Chr(115)
    Case $scanCode[0] = 84
    $sAutoitKey = Chr(116)
    Case $scanCode[0] = 85
    $sAutoitKey = Chr(117)
    Case $scanCode[0] = 86
    $sAutoitKey = Chr(118)
    Case $scanCode[0] = 87
    $sAutoitKey = Chr(119)
    Case $scanCode[0] = 88
    $sAutoitKey = Chr(120)
    Case $scanCode[0] = 89
    $sAutoitKey = Chr(121)
    Case $scanCode[0] = 90
    $sAutoitKey = Chr(122)
    Case $sAutoitKey = ""
    If $scanCode[0] <> 0 Then $sAutoitKey = Chr($scanCode[0])
    EndSelect
    EndIf
    If $sAutoitKey <> "" Then
    $gaHotkeyList[$nIndex][6] = $sAutoitKey
    _ShowHotKey($nIndex)
    $gaHotkeyList[$nIndex][5] = True
    EndIf
    EndSwitch
    If Not $gaHotkeyList[$nIndex][5] Then _ShowHotKey($nIndex)
    Return 1
    Case $WM_SYSKEYUP, $WM_KEYUP
    Switch $wParam
    Case $VKEY_SHIFT, $VKEY_LSHIFT, $VKEY_RSHIFT
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 14)
    Case $VKEY_CONTROL, $VKEY_LCONTROL, $VKEY_RCONTROL
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 13)
    Case $VKEY_LWIN, $VKEY_RWIN
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 11)
    Case $VKEY_MENU, $VKEY_LMENU, $VKEY_RMENU
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 7)
    EndSwitch
    If Not $gaHotkeyList[$nIndex][5] Then _ShowHotKey($nIndex)
    If $gaHotkeyList[$nIndex][5] Then
    $gaHotkeyList[$nIndex][5] = ($gaHotkeyList[$nIndex][5] <> 0)
    If Not $gaHotkeyList[$nIndex][5] Then $gaHotkeyList[$nIndex][6] = ""
    EndIf
    Return 1
    Case $WM_CHAR, $WM_PASTE, $WM_CUT
    Return 1
    EndSwitch
    Return _WinAPI_CallWindowProc($gaHotkeyList[$nIndex][3], $hWnd, $uiMsg, $wParam, $lParam)
    Else
    Return _WinAPI_DefWindowProc($hWnd, $uiMsg, $wParam, $lParam)
    EndIf
    EndFunc ;==>_HotkeyWindowProc

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

    ; ==================================================================================================
    ; Func _GetAutoItCode($vkCode)
    ;
    ; Get an AutoIt equivalent for a virtual key
    ;
    ; $vkCode = The virtual key code
    ;
    ; Returns:
    ; The AutoIt equivalent or an empty string if there isn't one
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _GetAutoItCode($vkCode)
    Local $nI, $sRet = ""

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

    ; Look through the map array to find this value
    For $nI = 0 To UBound($gaVirtkeyMap) - 1
    If $gaVirtkeyMap[$nI][0] = $vkCode Then
    ; Found it ... return it
    $sRet = $gaVirtkeyMap[$nI][1]
    ExitLoop
    EndIf
    Next

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

    Return SetError(0, 0, $sRet)
    EndFunc ;==>_GetAutoItCode

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

    ; ==================================================================================================
    ; Func _ShowHotKey($nIndex)
    ;
    ; Display the hotkey for an input control
    ;
    ; $nIndex = The array index for the control
    ;
    ; Returns:
    ; None - the text of the control is set
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _ShowHotKey($nIndex)
    Local $sText = ""
    $gaHotkeyList[$nIndex][1] = ""

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

    ; Build up the hotkey - display and AutoIt specific
    If BitAND($gaHotkeyList[$nIndex][4], 1) Then
    $gaHotkeyList[$nIndex][1] &= "+"
    $sText &= "SHIFT + "
    EndIf
    If BitAND($gaHotkeyList[$nIndex][4], 2) Then
    $gaHotkeyList[$nIndex][1] &= "^"
    $sText &= "CTRL + "
    EndIf
    If BitAND($gaHotkeyList[$nIndex][4], 4) Then
    $gaHotkeyList[$nIndex][1] &= "#"
    $sText &= "WIN + "
    EndIf
    If BitAND($gaHotkeyList[$nIndex][4], 8) Then
    $gaHotkeyList[$nIndex][1] &= "!"
    $sText &= "ALT + "
    EndIf
    $gaHotkeyList[$nIndex][1] &= $gaHotkeyList[$nIndex][6]
    $sText &= $gaHotkeyList[$nIndex][6]
    _WinAPI_SetWindowText($gaHotkeyList[$nIndex][0], $sText)
    _GUICtrlEdit_SetSel($gaHotkeyList[$nIndex][0], StringLen($sText), StringLen($sText))
    EndFunc ;==>_ShowHotKey

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

    ; ==================================================================================================
    ; Func _GetHandleIndex($hWnd)
    ;
    ; Get the index in the array for a window handle
    ;
    ; $hWnd = The window handle of the input control
    ;
    ; Returns:
    ; The array index for the handle or -1 if it's not found
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _GetHandleIndex($hWnd)
    Local $nI, $nJ = -1
    For $nI = 0 To UBound($gaHotkeyList) - 1
    If $gaHotkeyList[$nI][0] = $hWnd Then
    $nJ = $nI
    ExitLoop
    EndIf
    Next
    Return $nJ
    EndFunc ;==>_GetHandleIndex

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

    ; ==================================================================================================
    ; Func _GetAutoItHotkey($hWnd)
    ;
    ; Get the AutoIt hotkey combination for a window handle
    ;
    ; $hWnd = The window handle of the input control
    ;
    ; Returns:
    ; Success: The AutoIt version of the hotkey which can be used in HotKeySet
    ; Failure: An empty string ("") with @error set to 1
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _GetAutoItHotkey($hWnd)
    Local $nIndex = _GetHandleIndex($hWnd)
    If $nIndex = -1 Then Return SetError(1, 0, "")
    Return SetError(0, 0, $gaHotkeyList[$nIndex][1])
    EndFunc ;==>_GetAutoItHotkey

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

    ; ==================================================================================================
    ; Func _SetAutoItHotkey($hWnd, $sAutoitKey)
    ;
    ; Set the AutoIt hotkey combination for a window handle
    ;
    ; $hWnd = The window handle of the input control
    ; $sAutoitKey = The Autoit hotkey string
    ;
    ; Returns:
    ; Success: The AutoIt version of the hotkey which can be used in HotKeySet
    ; Failure: An empty string ("") with @error set to 1
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _SetAutoItHotkey($hWnd, $sAutoitKey)
    Local $nIndex = _GetHandleIndex($hWnd), $sKey = $sAutoitKey
    If $nIndex = -1 Then Return SetError(1, 0, False)
    $gaHotkeyList[$nIndex][4] = 0
    $gaHotkeyList[$nIndex][5] = False
    $gaHotkeyList[$nIndex][6] = ""
    While StringInStr("+^#!", StringLeft($sKey, 1)) > 0
    Switch StringLeft($sKey, 1)
    Case "+"
    $gaHotkeyList[$nIndex][4] += 1
    Case "^"
    $gaHotkeyList[$nIndex][4] += 2
    Case "#"
    $gaHotkeyList[$nIndex][4] += 4
    Case "!"
    $gaHotkeyList[$nIndex][4] += 8
    EndSwitch
    $sKey = StringMid($sKey, 2)
    WEnd
    $gaHotkeyList[$nIndex][6] = $sKey
    _ShowHotKey($nIndex)
    EndFunc ;==>_SetAutoItHotkey
    #EndRegion HotkeyControl
    #EndRegion Funktionen

    [/autoit]
  • Hab ne Idee was du noch machen kannst ,
    das er die Trackliste als ne .txt datei ( oder andere ) speichert .

  • Update:
    -Tracklist wird richtig aktualisiert
    -Titel auf Tab1

    Einmal editiert, zuletzt von Calypso (9. Januar 2010 um 22:42)

  • Update:
    -Bessere Fehlerauswertung
    -DJ und Style werden angezeigt
    -Gui Elemete angepasst

    Jetzt auch als Dateianhang da 1000+ Zeilen.

    Einmal editiert, zuletzt von Calypso (10. Januar 2010 um 17:57)

  • Update:
    -Extra Einstellungen Fenster
    -frablich etwas an Technobase usw.. angepasst (Danke an ..tim.. für die Idee)
    -Speicher-Button in Tab3 können verschieden Funktionen zugewiesen werden (auch hier danke an ..tim..)

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <Security.au3>
    #include <Memory.au3>
    #include <UDFGlobalID.au3>
    #include <GuiStatusBar.au3>
    #include-once
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Constants.au3>
    #include <GUIEdit.au3>
    #include <GuiToolbar.au3>
    #include <inet.au3>
    #include <array.au3>

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

    $iread5 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "AllwaysOnTop", "0")
    $iread6 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MinimizeToTray", "0")
    $iread7 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Transparency", "0")
    $iread8 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "TransPercent", "25")
    $iread9 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadios", "10")
    $iread10 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadio", "0")
    $iread11 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Action", "Als .txt speichern")

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Technobase.FM Player by Calypso BETA", 290, 290, @DesktopWidth-298, 5)
    $z = "260"
    If $iread5 = "1" Then
    WinSetOnTop("Technobase.FM Player by Calypso BETA", "", 1)
    EndIf
    If $iread6 = "1" Then
    Opt("TrayMenuMode", 1)
    $muteitem = TrayCreateItem("Mute")
    TrayCreateItem("")
    $showitem = TrayCreateItem("Show")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")
    EndIf
    If $iread7 = "1" Then
    WinSetTrans($Form1,"", $iread8*10)
    EndIf
    $oWMP = ObjCreate("WMPLayer.ocx")
    $ername = $iread9
    $erurl = $ername
    #Region tab1
    $Tab1 = GUICtrlCreateTab(0, 0, 600, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Play")
    Dim $iniread[$ername+1]
    For $4 = 1 To $ername Step 1
    $iniread[$4] = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $4, "-")
    Next
    Global $er
    For $5 = 1 To $ername Step 1
    $er = $er & "|" & $iniread[$5]
    Next
    $Combo1 = GUICtrlCreateCombo("TechnoBase.FM", 5, 35, 190, 30)
    GUICtrlSetData(-1, "HouseTime.FM|HardBase.FM|TranceBase.FM|CoreTime.FM"& $er ,"TechnoBase.FM")
    $font = "BankGothic Md BT"
    $Button1 = GUICtrlCreateButton("Start", 160, 65, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("Stopp", 160, 100, 75, 25)
    $Button3 = GUICtrlCreateButton("Ändern", 200, 35, 75, 25, 0)
    Dim $label11[6]
    For $13 = 1 To 5 Step 1
    $label11[$13] = GUICtrlCreateLabel("", 1, 143+25*$13,290, 25)
    GUICtrlSetColor($label11[$13], 0xff0000)
    GUICtrlSetBkColor($label11[$13], 0x000000)
    $14 = "1"
    If $13 = "3" Then $14 = "1,5"
    If $13 = "4" Then $14 = "1,5"
    If $13 = "5" Then $14 = "1,5"
    GUICtrlSetFont($label11[$13], 15/$14, 10000, 0, $font)
    Next
    GUICtrlSetData($label11[1], "Disconnected")
    $Progress1 = GUICtrlCreateProgress(250, 65, 25, 60, $PBS_VERTICAL)
    $Label1 = GUICtrlCreateLabel("Lautstärke:", 6, 120)
    $slVolume = GUICtrlCreateSlider(12, 136, 259, 30, $TBS_AUTOTICKS)
    GUICtrlSetData(-1, $oWMP.settings.volume())
    GUICtrlSetState($slVolume, $GUI_DISABLE)
    #EndRegion tab1
    #Region tab2
    $Tab2 = GUICtrlCreateTab(0, 0, 600, 0)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Einstellungen")
    GUICtrlCreateGroup("Hotkeys", 10, 30, 270, 110)
    $label3 = GUICtrlCreateLabel("Lauter:", 30, 85)
    $label4 = GUICtrlCreateLabel("Leiser:", 30, 105)
    $label5 = GUICtrlCreateLabel("-", 90, 85, 100)
    $label6 = GUICtrlCreateLabel("-", 90, 105, 100)
    $label7 = GUICtrlCreateLabel("Start:", 30, 45)
    $label8 = GUICtrlCreateLabel("Stopp:", 30, 65)
    $label9 = GUICtrlCreateLabel("-", 90, 45, 100)
    $label10 = GUICtrlCreateLabel("-", 90, 65, 100)
    $Button4 = GUICtrlCreateButton("&Ändern", 170, 110, 100, 25, 0)
    $Button6 = GUICtrlCreateButton("Erweiterte Einstellungen", 150, 160, 130, 25)
    #EndRegion tab2
    #Region tab3
    $Tab3 = GUICtrlCreateTab(0, 0, 600, 0)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Tracklist")
    $Button31 = GUICtrlCreateButton("&Aktualisieren", 110, $z, 85, 25)
    $Button32 = GUICtrlCreateButton("&Speichern", 200, $z, 85,25)
    $label31 = GUICtrlCreateLabel("Tracklist:", 20, 25, 50, 25)
    Dim $label3[11]
    For $a = 0 to 10 Step 1
    $label3[$a]=GUICtrlCreateLabel("a", 20, $a*20+45, 300)
    Next
    _refresh()
    #EndRegion tab3

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

    #EndRegion ### END Koda GUI section ###

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

    #Region Vars
    $iread1 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeylauter", "-")
    $iread2 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeyleiser", "-")
    $iread3 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystart", "-")
    $iread4 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystopp", "-")
    If $iread1 = "" Then $iread = "-"
    If $iread2 = "" Then $iread = "-"
    If $iread3 = "" Then $iread = "-"
    If $iread4 = "" Then $iread = "-"
    GUICtrlSetData($label5, $iread1)
    GUICtrlSetData($label6, $iread2)
    GUICtrlSetData($label9, $iread3)
    GUICtrlSetData($label10, $iread4)
    If $iread1 <> "-" Then $hotkey1 = HotKeySet($iread1, "hotkeylauter")
    If $iread2 <> "-" Then $hotkey2 = HotKeySet($iread2, "hotkeyleiser")
    If $iread3 <> "-" Then $hotkey3 = HotKeySet($iread3, "hotkeystart")
    If $iread4 <> "-" Then $hotkey4 = HotKeySet($iread4, "hotkeystopp")
    $init = TimerInit()
    $12=1
    Global $string
    Global $string2
    Dim $arrStatus[12]
    $arrStatus[0] = 'Undefined'
    $arrStatus[1] = 'Stopped'
    $arrStatus[2] = 'Paused'
    $arrStatus[3] = 'Playing'
    $arrStatus[4] = 'ScanForward'
    $arrStatus[5] = 'ScanReverse'
    $arrStatus[6] = 'Buffering'
    $arrStatus[7] = 'Waiting'
    $arrStatus[8] = 'MediaEnded'
    $arrStatus[9] = 'Transitioning'
    $arrStatus[10] = 'Ready'
    $arrStatus[11] = 'Reconnecting'
    $lastStatus = 0
    Dim $color[6]
    $color[0] = "0xFF6F04"
    $color[1] = "0xED5CFE"
    $color[2] = "0x72E1FF"
    $color[3] = "0x86E229"
    $color[4] = "0xE8F3ED"
    $color[5] = "0xff0000"
    $statCombo1 = 0
    $statud = 0
    $16 = "0"
    #EndRegion Vars

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

    GUISetState(@SW_SHOW, $Form1)

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

    While 1
    $nMsg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetData($label11[1], "Connecting")
    GUICtrlSetData($label11[2], "")
    Dim $iniread1[$erurl+1]
    For $3 = 1 To $erurl Step 1
    $iniread1[$3] = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $3, "-")
    Next
    $readcombo1 = GUICtrlRead($Combo1)
    Select
    Case $readcombo1 = "TechnoBase.FM"
    $oWMP.URL = 'http://listen.technobase.fm/tunein-dsl-asx'
    $editdata1 = "technobase.fm"
    $ecolor = $color[0]
    Case $readcombo1 = "HouseTime.FM"
    $oWMP.URL = 'http://listen.housetime.fm/tunein-dsl-asx'
    $editdata1 = "housetime.fm"
    $ecolor = $color[1]
    Case $readcombo1 = "HardBase.FM"
    $oWMP.URL = 'http://listen.hardbase.fm/tunein-dsl-asx'
    $editdata1 = "hardbase.fm"
    $ecolor = $color[2]
    Case $readcombo1 = "TranceBase.FM"
    $oWMP.URL = 'http://listen.trancebase.fm/tunein-dsl-asx'
    $editdata1 = "trancebase.fm"
    $ecolor = $color[3]
    Case $readcombo1 = "CoreTime.FM"
    $oWMP.URL = 'http://listen.coretime.fm/tunein-dsl-asx'
    $editdata1 = "coretime.fm"
    $ecolor = $color[4]
    Case Else
    For $6 = 1 To $ername Step 1
    $readcombo1 = $iniread[$6]
    $oWMP.URL = $iniread1[$6]
    $editdata1 = $iniread[$6]
    Next
    $ecolor = $color[5]
    EndSelect
    For $15 = 1 To 5 Step 1
    GUICtrlSetColor($label11[$15], $ecolor)
    Next
    GUICtrlSetData($label11[1], "Connecting")
    $oWMP.controls.play()
    ;~ Do
    ;~ Sleep(100)
    ;~ Until $oWMP.playstate = 7
    GUICtrlSetData($Progress1, 100)
    GUICtrlSetData($label11[1], "Buffering")
    $oWMP.settings.volume = 50
    GUICtrlSetState($slVolume, $GUI_ENABLE)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Do
    Sleep(100)
    Until $oWMP.playstate = 3
    GUICtrlSetData($label11[1], "Listening:")
    GUICtrlSetData($label11[2], $editdata1)
    _refresh()
    Case $Button2
    $oWMP.controls.stop()
    GUICtrlSetData($label11[1], "Disconnected")
    GUICtrlSetData($label11[2], "")
    GUICtrlSetData($label11[3], "")
    GUICtrlSetData($label11[4], "")
    GUICtrlSetData($label11[5], "")
    GUICtrlSetState($slVolume, $GUI_DISABLE)
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetData($Progress1, 0)
    $16 = "0"
    Case $Button3
    gui()
    Case $Button4
    GUISetState(@SW_DISABLE, $Form1)
    #Region VIRTUAL_KEYS
    Global Const $VKEY_LBUTTON = 0x01, $VKEY_RBUTTON = 0x02, $VKEY_CANCEL = 0x03, $VKEY_MBUTTON = 0x04
    Global Const $VKEY_XBUTTON1 = 0x05, $VKEY_XBUTTON2 = 0x06, $VKEY_BACK = 0x08, $VKEY_TAB = 0x09
    Global Const $VKEY_CLEAR = 0x0C, $VKEY_RETURN = 0x0D, $VKEY_SHIFT = 0x10, $VKEY_CONTROL = 0x11
    Global Const $VKEY_MENU = 0x12, $VKEY_PAUSE = 0x13, $VKEY_CAPITAL = 0x14, $VKEY_KANA = 0x15
    Global Const $VKEY_HANGEUL = 0x15, $VKEY_HANGUL = 0x15, $VKEY_JUNJA = 0x17, $VKEY_FINAL = 0x18
    Global Const $VKEY_HANJA = 0x19, $VKEY_KANJI = 0x19, $VKEY_ESCAPE = 0x1B, $VKEY_CONVERT = 0x1C
    Global Const $VKEY_NONCONVERT = 0x1D, $VKEY_ACCEPT = 0x1E, $VKEY_MODECHANGE = 0x1F, $VKEY_SPACE = 0x20
    Global Const $VKEY_PRIOR = 0x21, $VKEY_NEXT = 0x22, $VKEY_END = 0x23, $VKEY_HOME = 0x24
    Global Const $VKEY_LEFT = 0x25, $VKEY_UP = 0x26, $VKEY_RIGHT = 0x27, $VKEY_DOWN = 0x28
    Global Const $VKEY_SELECT = 0x29, $VKEY_PRINT = 0x2A, $VKEY_EXECUTE = 0x2B, $VKEY_SNAPSHOT = 0x2C
    Global Const $VKEY_INSERT = 0x2D, $VKEY_DELETE = 0x2E, $VKEY_HELP = 0x2F, $VKEY_LWIN = 0x5B
    Global Const $VKEY_RWIN = 0x5C, $VKEY_APPS = 0x5D, $VKEY_SLEEP = 0x5F, $VKEY_NUMPAD0 = 0x60
    Global Const $VKEY_NUMPAD1 = 0x61, $VKEY_NUMPAD2 = 0x62, $VKEY_NUMPAD3 = 0x63, $VKEY_NUMPAD4 = 0x64
    Global Const $VKEY_NUMPAD5 = 0x65, $VKEY_NUMPAD6 = 0x66, $VKEY_NUMPAD7 = 0x67, $VKEY_NUMPAD8 = 0x68
    Global Const $VKEY_NUMPAD9 = 0x69, $VKEY_MULTIPLY = 0x6A, $VKEY_ADD = 0x6B, $VKEY_SEPARATOR = 0x6C
    Global Const $VKEY_SUBTRACT = 0x6D, $VKEY_DECIMAL = 0x6E, $VKEY_DIVIDE = 0x6F, $VKEY_F1 = 0x70
    Global Const $VKEY_F2 = 0x71, $VKEY_F3 = 0x72, $VKEY_F4 = 0x73, $VKEY_F5 = 0x74
    Global Const $VKEY_F6 = 0x75, $VKEY_F7 = 0x76, $VKEY_F8 = 0x77, $VKEY_F9 = 0x78
    Global Const $VKEY_F10 = 0x79, $VKEY_F11 = 0x7A, $VKEY_F12 = 0x7B, $VKEY_F13 = 0x7C
    Global Const $VKEY_F14 = 0x7D, $VKEY_F15 = 0x7E, $VKEY_F16 = 0x7F, $VKEY_F17 = 0x80
    Global Const $VKEY_F18 = 0x81, $VKEY_F19 = 0x82, $VKEY_F20 = 0x83, $VKEY_F21 = 0x84
    Global Const $VKEY_F22 = 0x85, $VKEY_F23 = 0x86, $VKEY_F24 = 0x87, $VKEY_NUMLOCK = 0x90
    Global Const $VKEY_SCROLL = 0x91, $VKEY_OEM_NEC_EQUAL = 0x92, $VKEY_OEM_FJ_JISHO = 0x92, $VKEY_OEM_FJ_MASSHOU = 0x93
    Global Const $VKEY_OEM_FJ_TOUROKU = 0x94, $VKEY_OEM_FJ_LOYA = 0x95, $VKEY_OEM_FJ_ROYA = 0x96
    Global Const $VKEY_LSHIFT = 0xA0, $VKEY_RSHIFT = 0xA1, $VKEY_LCONTROL = 0xA2, $VKEY_RCONTROL = 0xA3
    Global Const $VKEY_LMENU = 0xA4, $VKEY_RMENU = 0xA5, $VKEY_BROWSER_BACK = 0xA6, $VKEY_BROWSER_FORWARD = 0xA7
    Global Const $VKEY_BROWSER_REFRESH = 0xA8, $VKEY_BROWSER_STOP = 0xA9, $VKEY_BROWSER_SEARCH = 0xAA, $VKEY_BROWSER_FAVORITES = 0xAB
    Global Const $VKEY_BROWSER_HOME = 0xAC, $VKEY_VOLUME_MUTE = 0xAD, $VKEY_VOLUME_DOWN = 0xAE, $VKEY_VOLUME_UP = 0xAF
    Global Const $VKEY_MEDIA_NEXT_TRACK = 0xB0, $VKEY_MEDIA_PREV_TRACK = 0xB1, $VKEY_MEDIA_STOP = 0xB2, $VKEY_MEDIA_PLAY_PAUSE = 0xB3
    Global Const $VKEY_LAUNCH_MAIL = 0xB4, $VKEY_LAUNCH_MEDIA_SELECT = 0xB5, $VKEY_LAUNCH_APP1 = 0xB6, $VKEY_LAUNCH_APP2 = 0xB7
    Global Const $VKEY_OEM_1 = 0xBA, $VKEY_OEM_PLUS = 0xBB, $VKEY_OEM_COMMA = 0xBC, $VKEY_OEM_MINUS = 0xBD
    Global Const $VKEY_OEM_PERIOD = 0xBE, $VKEY_OEM_2 = 0xBF, $VKEY_OEM_3 = 0xC0, $VKEY_OEM_4 = 0xDB
    Global Const $VKEY_OEM_5 = 0xDC, $VKEY_OEM_6 = 0xDD, $VKEY_OEM_7 = 0xDE, $VKEY_OEM_8 = 0xDF
    Global Const $VKEY_OEM_AX = 0xE1, $VKEY_OEM_102 = 0xE2, $VKEY_ICO_HELP = 0xE3, $VKEY_ICO_00 = 0xE4
    Global Const $VKEY_PROCESSKEY = 0xE5, $VKEY_ICO_CLEAR = 0xE6, $VKEY_PACKET = 0xE7, $VKEY_OEM_RESET = 0xE9
    Global Const $VKEY_OEM_JUMP = 0xEA, $VKEY_OEM_PA1 = 0xEB, $VKEY_OEM_PA2 = 0xEC, $VKEY_OEM_PA3 = 0xED
    Global Const $VKEY_OEM_WSCTRL = 0xEE, $VKEY_OEM_CUSEL = 0xEF, $VKEY_OEM_ATTN = 0xF0, $VKEY_OEM_FINISH = 0xF1
    Global Const $VKEY_OEM_COPY = 0xF2, $VKEY_OEM_AUTO = 0xF3, $VKEY_OEM_ENLW = 0xF4, $VKEY_OEM_BACKTAB = 0xF5
    Global Const $VKEY_ATTN = 0xF6, $VKEY_CRSEL = 0xF7, $VKEY_EXSEL = 0xF8, $VKEY_EREOF = 0xF9
    Global Const $VKEY_PLAY = 0xFA, $VKEY_ZOOM = 0xFB, $VKEY_NONAME = 0xFC, $VKEY_PA1 = 0xFD, $VKEY_OEM_CLEAR = 0xFE
    #EndRegion VIRTUAL_KEYS
    #Region GLOBAL_VARIABLES
    ; This maps virtual keycodes to AutoIt equivalents
    Global $gaVirtkeyMap[75][2] = [[$VKEY_SPACE, "{SPACE}"],[$VKEY_RETURN, "{ENTER}"],[$VKEY_MENU, "{ALT}"],[$VKEY_BACK, "{BS}"], _ ; 4
    [$VKEY_DELETE, "{DEL}"],[$VKEY_UP, "{UP}"],[$VKEY_DOWN, "{DOWN}"],[$VKEY_LEFT, "{LEFT}"], _ ; 8
    [$VKEY_RIGHT, "{RIGHT}"],[$VKEY_HOME, "{HOME}"],[$VKEY_END, "{END}"],[$VKEY_ESCAPE, "{ESC}"], _ ; 12
    [$VKEY_INSERT, "{INS}"],[$VKEY_PRIOR, "{PGUP}"],[$VKEY_NEXT, "{PGDN}"],[$VKEY_F1, "{F1}"], _ ; 16
    [$VKEY_F2, "{F2}"],[$VKEY_F3, "{F3}"],[$VKEY_F4, "{F4}"],[$VKEY_F5, "{F5}"], _ ; 20
    [$VKEY_F6, "{F6}"],[$VKEY_F7, "{F7}"],[$VKEY_F8, "{F8}"],[$VKEY_F9, "{F9}"], _ ; 24
    [$VKEY_F10, "{F10}"],[$VKEY_F11, "{F11}"],[$VKEY_F12, "{F12}"],[$VKEY_TAB, "{TAB}"], _ ; 28
    [$VKEY_PRINT, "{PRINTSCREEN}"],[$VKEY_LWIN, "{LWIN}"],[$VKEY_RWIN, "{RWIN}"], _ ; 31
    [$VKEY_NUMLOCK, "{NUMLOCK}"],[$VKEY_CAPITAL, "{CAPSLOCK}"],[$VKEY_SCROLL, "{SCROLLLOCK}"], _ ; 34
    [$VKEY_PAUSE, "{PAUSE}"],[$VKEY_NUMPAD0, "{NUMPAD0}"],[$VKEY_NUMPAD1, "{NUMPAD1}"], _ ; 37
    [$VKEY_NUMPAD2, "{NUMPAD2}"],[$VKEY_NUMPAD3, "{NUMPAD3}"],[$VKEY_NUMPAD4, "{NUMPAD4}"], _ ; 40
    [$VKEY_NUMPAD5, "{NUMPAD5}"],[$VKEY_NUMPAD6, "{NUMPAD6}"],[$VKEY_NUMPAD7, "{NUMPAD7}"], _ ; 43
    [$VKEY_NUMPAD8, "{NUMPAD8}"],[$VKEY_NUMPAD9, "{NUMPAD0}"],[$VKEY_ADD, "{NUMPADADD}"], _ ; 46
    [$VKEY_SUBTRACT, "{NUMPADSUB}"],[$VKEY_DIVIDE, "{NUMPADDIV}"],[$VKEY_DECIMAL, "{NUMPADDOT}"], _ ; 49
    [$VKEY_APPS, "{APPSKEY}"],[$VKEY_LMENU, "{LALT}"],[$VKEY_RMENU, "{RALT}"], _ ; 52
    [$VKEY_LCONTROL, "{LCTRL}"],[$VKEY_RCONTROL, "{RCTRL}"],[$VKEY_LSHIFT, "{LSHIFT}"], _ ; 55
    [$VKEY_RSHIFT, "{RSHIFT}"],[$VKEY_SLEEP, "{SLEEP}"],[$VKEY_BROWSER_BACK, "{BROWSER_BACK}"], _ ; 58
    [$VKEY_BROWSER_FORWARD, "{BROWSER_FORWARD}"],[$VKEY_BROWSER_REFRESH, "{BROWSER_REFRESH}"], _ ; 60
    [$VKEY_BROWSER_STOP, "{BROWSER_STOP}"],[$VKEY_BROWSER_SEARCH, "{BROWSER_SEARCH}"], _ ; 62
    [$VKEY_BROWSER_FAVORITES, "{BROWSER_FAVORITES}"],[$VKEY_BROWSER_HOME, "{BROWSER_HOME}"], _ ; 64
    [$VKEY_VOLUME_MUTE, "{VOLUME_MUTE}"],[$VKEY_VOLUME_DOWN, "{VOLUME_DOWN}"],[$VKEY_VOLUME_UP, "{VOLUME_UP}"], _ ; 67
    [$VKEY_MEDIA_NEXT_TRACK, "{MEDIA_NEXT}"],[$VKEY_MEDIA_PREV_TRACK, "{MEDIA_PREV}"], _ ; 69
    [$VKEY_MEDIA_STOP, "{MEDIA_STOP}"],[$VKEY_MEDIA_PLAY_PAUSE, "{MEDIA_PLAY_PAUSE}"], _ ; 71
    [$VKEY_LAUNCH_MAIL, "{LAUNCH_MAIL}"],[$VKEY_LAUNCH_MEDIA_SELECT, "{LAUNCH_MEDIA}"], _ ; 73
    [$VKEY_LAUNCH_APP1, "{LAUNCH_APP1}"],[$VKEY_LAUNCH_APP2, "{LAUNCH_APP2}"]] ; 75
    Global $gaHotkeyList[20][7]
    #EndRegion GLOBAL_VARIABLES
    $hkfenster = GUICreate("Tastenbelegung ändern", 300, 230)
    GUICtrlCreateLabel("Start :", 8, 10)
    GUICtrlCreateLabel("Stopp", 8, 45)
    GUICtrlCreateLabel("Lauter :", 8, 80)
    GUICtrlCreateLabel("Leiser :", 8, 115)

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

    $okbutton = GUICtrlCreateButton("&Speichern", 110, 180, 80, 23)
    Dim $cEdit1 = GUICtrlCreateInput("-", 110, 10, 130, 24)
    Dim $hwndEdit1 = GUICtrlGetHandle($cEdit1)
    Dim $cEdit2 = GUICtrlCreateInput("-", 110, 45, 130, 24)
    Dim $hwndEdit2 = GUICtrlGetHandle($cEdit2)
    Dim $cEdit3 = GUICtrlCreateInput("-", 110, 80, 130, 24)
    Dim $hwndEdit3 = GUICtrlGetHandle($cEdit3)
    Dim $cEdit4 = GUICtrlCreateInput("-", 110, 115, 130, 24)
    Dim $hwndEdit4 = GUICtrlGetHandle($cEdit4)
    GUISetState(@SW_SHOW)
    _ToggleAsHotkeyControl($hwndEdit1)
    _ToggleAsHotkeyControl($hwndEdit2)
    _ToggleAsHotkeyControl($hwndEdit3)
    _ToggleAsHotkeyControl($hwndEdit4)
    While 1
    Sleep(50)
    $guimsg = GUIGetMsg()
    Switch $guimsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($hkfenster)
    ExitLoop
    Case $okbutton
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystart", _GetAutoItHotkey($hwndEdit1))
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystopp", _GetAutoItHotkey($hwndEdit2))
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeylauter", _GetAutoItHotkey($hwndEdit3))
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeyleiser", _GetAutoItHotkey($hwndEdit4))
    GUIDelete($hkfenster)
    ExitLoop
    EndSwitch
    WEnd
    GUISetState(@SW_ENABLE, $Form1)
    $iread1 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeylauter", "-")
    $iread2 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeyleiser", "-")
    $iread3 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystart", "-")
    $iread4 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "Section Hotkeys", "Hotkeystopp", "-")
    GUICtrlSetData($label5, $iread1)
    GUICtrlSetData($label6, $iread2)
    GUICtrlSetData($label9, $iread3)
    GUICtrlSetData($label10, $iread4)
    $hotkey1 = HotKeySet($iread1, "hotkeylauter")
    $hotkey2 = HotKeySet($iread2, "hotkeyleiser")
    $hotkey3 = HotKeySet($iread3, "hotkeystart")
    $hotkey4 = HotKeySet($iread4, "hotkeystopp")
    Case $Button6
    GUISetState(@SW_DISABLE, $Form1)
    sgui()
    GUISetState(@SW_ENABLE, $Form1)
    Case $GUI_EVENT_MINIMIZE
    If $iread6 = "1" Then
    GUISetState(@SW_HIDE)
    TraySetState(1)
    Else
    GUISetState(@SW_MINIMIZE)
    EndIf
    Case $Button31
    $readcombo3 = GUICtrlRead($Combo1)
    If $readcombo3 = "TechnoBase.FM" Or "HouseTime.FM" Or "HardBase.FM" Or "TranceBase.FM" Or "CoreTime.FM" Then
    $source1 = _INetGetSource("http://www."&$readcombo3&"/tracklist.php")
    $sRegExp2 = StringReplace($source1, "amp;", "&")
    $sRegExp1 = StringRegExp($sRegExp2, 'border="\d" src=".+" alt=".+" title="(.+?)" />', 3)
    EndIf
    For $b = 0 to 10 Step 1
    If StringLen($sRegExp1[$b]) > 50 Then
    $sRegExp1[$b] = (StringLeft($sRegExp1[$b], 50) & "...")
    EndIf
    GUICtrlSetData($label3[$b], $sRegExp1[$b])
    Next
    Case $Button32
    $readcombo3 = GUICtrlRead($Combo1)
    If $readcombo3 = "TechnoBase.FM" Or "HouseTime.FM" Or "HardBase.FM" Or "TranceBase.FM" Or "CoreTime.FM" Then
    $source1 = _INetGetSource("http://www."&$readcombo3&"/tracklist.php")
    $sRegExp2 = StringReplace($source1, "amp;", "&")
    $sRegExp1 = StringRegExp($sRegExp2, 'border="\d" src=".+" alt=".+" title="(.+?)" />', 3)
    EndIf
    If $iread11 = "Als .txt speichern" Then
    $file = FileOpen(@ScriptDir & "\Tracklist " & @MDAY & "." & @MON & " um " & @HOUR & "_" & @MIN & ".txt", 1)
    For $c = 1 To 10 Step 1
    FileWrite($file, $sRegExp1[$c] & @CRLF)
    Next
    FileClose($file)
    MsgBox(64, "Info", "Tracklist wurde im Scriptverzeichnis gespeichert")
    ElseIf $iread11 = "Letzten Titel in die Zwischenablage" Then
    ClipPut($sRegExp1[0])
    ElseIf $iread11 = "Alle Titel in die Zwischenablage" Then
    $cp = $sRegExp1[1] & @CRLF
    For $17 = 2 To 10 Step 1
    $cp &= $sRegExp1[$17] & @CRLF
    Next
    ClipPut($cp)
    EndIf
    EndSwitch
    If $iread6 = "1" Then
    Switch $tmsg
    Case $TRAY_EVENT_PRIMARYDOWN
    If $iread6 = "1" Then
    If BitAND(WinGetState($Form1), 16) Then
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
    TraySetState(2)
    EndIf
    EndIf
    Case $showitem
    GUISetState(@SW_SHOW)
    GUISetState(@SW_RESTORE)
    TraySetState(2)
    Case $muteitem
    TrayItemSetText($muteitem, "Unmute")
    If $oWMP.settings.mute = False Then
    $oWMP.settings.mute = True
    Else
    $oWMP.settings.mute = False
    EndIf
    Case $exititem
    Exit
    EndSwitch
    EndIf
    $oWMP.settings.volume = GUICtrlRead($slVolume)
    $curStatus = $oWMP.playstate
    If $curStatus <> $lastStatus Then
    Select
    Case $curStatus = 3
    GUICtrlSetData($label11[1], "Listening:")
    GUICtrlSetData($label11[2], $editdata1)
    Case $curStatus = 6
    GUICtrlSetData($label11[1], "Buffering")
    GUICtrlSetData($label11[2], "")
    GUICtrlSetData($label11[3], "")
    GUICtrlSetData($label11[4], "")
    GUICtrlSetData($label11[5], "")
    Case $curStatus = 7
    GUICtrlSetData($label11[1], "Waiting")
    GUICtrlSetData($label11[2], "")
    GUICtrlSetData($label11[3], "")
    GUICtrlSetData($label11[4], "")
    GUICtrlSetData($label11[5], "")
    Case $curStatus = 11
    GUICtrlSetData($label11[1], "Reconnecting")
    GUICtrlSetData($label11[2], "")
    GUICtrlSetData($label11[3], "")
    GUICtrlSetData($label11[4], "")
    GUICtrlSetData($label11[5], "")
    EndSelect
    $lastStatus = $curStatus
    EndIf
    If TimerDiff($init) >= ($12*12000) Then
    _refresh()
    $12 = $12+1
    EndIf
    WEnd

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

    #Region Funktionen
    Func hotkeystart()
    ControlClick("Technobase.FM Player by Calypso", "", $Button1)
    EndFunc ;==>hotkeystart

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

    Func hotkeystopp()
    ControlClick("TechnoBase.FM Player by Calypso", "", $Button2)
    EndFunc ;==>hotkeystopp

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

    Func hotkeyleiser()
    $readslider1 = GUICtrlRead($slVolume)
    GUICtrlSetData($slVolume, $readslider1 - 5)
    EndFunc ;==>hotkeyleiser

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

    Func hotkeylauter()
    $readslider1 = GUICtrlRead($slVolume)
    GUICtrlSetData($slVolume, $readslider1 + 5)
    EndFunc ;==>hotkeylauter

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

    Func _refresh()
    $readcombo3 = GUICtrlRead($Combo1)
    If $readcombo3 = "TechnoBase.FM" Or "HouseTime.FM" Or "HardBase.FM" Or "TranceBase.FM" Or "CoreTime.FM" Then
    $source1 = _INetGetSource("http://www."&$readcombo3&"/tracklist.php")
    $sRegExp2 = StringReplace($source1, "amp;", "&")
    $sRegExp1 = StringRegExp($sRegExp2, 'border="\d" src=".+" alt=".+" title="(.+?)" />', 3)
    For $b = 0 to 10 Step 1
    If StringLen($sRegExp1[$b]) > 50 Then
    $sRegExp1[$b] = (StringLeft($sRegExp1[$b], 50) & "...")
    EndIf
    GUICtrlSetData($label3[$b], $sRegExp1[$b])
    Next
    Dim $string[2]
    If GUICtrlRead($label11[1]) = "Listening:" Then
    ControlClick("Technobase.FM Player by Calypso BETA","", $Button31)
    $string = StringSplit(GUICtrlRead($label3[0]),"-",2)
    If StringLen($string[1]) < 4 Then
    $string[0] = $string[0] & $string[1]
    $string[1] = $string[2]
    EndIf
    If StringLen($string[0]) > 24 Then
    $string[0] = StringLeft($string[0], 24) & "..."
    EndIf
    If StringLen($string[1]) > 24 Then
    $string[1] = StringLeft($string[1], 24) & "..."
    EndIf
    GUICtrlSetData($label11[3],$string[0])
    GUICtrlSetData($label11[4],$string[1])
    _dj()
    EndIf
    EndIf
    EndFunc

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

    Func _dj()
    $inets = _INetGetSource("http://www.technobase.fm/showplan.php")
    $sT = StringRegExp($inets, '<td>(.+?)</td>\s*<td align=right><a href="/member/\d*">', 3)
    $sN = StringRegExp($inets, '<td align=right><a href="/member/\d*">(.+?)</a></td>', 3)
    $sSt = StringRegExp($inets, '<b>(.+?)</b><br>\s*Musikstyle', 3)
    $hour = @HOUR
    If @MIN > "01" Then $hour = $hour+1
    $i24 = 0
    Dim $SP[UBound($sT)][3]
    For $i = 0 to UBound($sT)-1
    $SP[$i][0] = $sT[$i]
    $SP[$i][1] = $sN[$i]
    $SP[$i][2] = $sSt[$i]
    Next
    Dim $tsp[UBound($SP)][2]
    For $i2 = 0 to UBound($tsp)-1
    $temp = StringSplit($SP[$i2][0],":")
    $tsp[$i2][0] = $temp[1]
    Next
    For $i22 = 0 to UBound($tsp)-2
    If $hour > $tsp[$i22][0] Then
    $i24 = $i24+1
    Else
    $i24 = $i24-1
    ExitLoop
    EndIf
    Next
    $string = $SP[$i24][1]
    $EST = $SP[$i24][2]
    GUICtrlSetData($label11[5], $string&" - "&$EST)
    EndFunc

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

    Func gui()
    GUISetState(@SW_DISABLE, $Form1)
    #Region ### START Koda GUI section ### Form=
    $Form21 = GUICreate("Neuen Radiosender hinzufügen", 309, 284, 801, 401)
    $Tab21 = GUICtrlCreateTab(0, 0, 600, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Sender Hinzufügen")
    $Button21 = GUICtrlCreateButton("&Speichern", 208, 240, 75, 25, 0)
    $Label21 = GUICtrlCreateLabel("Name :", 32, 24, 36, 17)
    $Input21 = GUICtrlCreateInput("", 78, 24, 200, 21)
    $Label22 = GUICtrlCreateLabel("URL :", 32, 64, 36, 17)
    $Edit21 = GUICtrlCreateEdit("", 78, 64, 220, 153)
    GUICtrlSetData(-1, "")
    $Tab21 = GUICtrlCreateTab(0, 0, 600, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlCreateTabItem("Sender Löschen")
    Dim $iniread2[$ername+1]
    For $7 = 1 To $ername Step 1
    $iniread2[$7] = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $7, "-")
    If $iniread2[$7] = "-" Then ExitLoop
    Next
    If $7-1 = 0 Then
    $Label23 = GUICtrlCreateLabel("Keine Sender vorhanden", 20, 70)
    Else
    Dim $Checkbox4[$7+1]
    For $8 = 1 To ($7-1) Step 1
    $Checkbox4[$8] = GUICtrlCreateCheckbox($iniread2[$8], 20, 50+20*$8)
    Next
    EndIf
    $Button22 = GUICtrlCreateButton("&Löschen", 208, 240, 75, 25, 0)
    $Label24 = GUICtrlCreateLabel("Zum Löschen des Senders einen Haken in die Checkbox setzen", 20, 30, 300, 40)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($Form21)
    ExitLoop
    Case $Button21
    $input21read = GUICtrlRead($Input21)
    $Edit21read = GUICtrlRead($Edit21)
    For $1 = 1 to $ername Step 1
    If IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $1, "-") = "-" Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $1, $input21read)
    ExitLoop
    EndIf
    Next
    For $2 = 1 to $erurl Step 1
    If IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $2, "-") = "-" Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $2, $Edit21read)
    ExitLoop
    EndIf
    Next
    $msgbox1 = MsgBox(68, "Info", "Damit die Änderungen wirksam werden muss das Programm neugestartet werden.")
    Select
    Case $msgbox1 = 6
    GUIDelete($Form21)
    GUIDelete($Form1)
    ShellExecute(@ScriptFullPath)
    Exit
    Case $msgbox1 = 7
    GUIDelete($Form21)
    ExitLoop
    EndSelect
    Case $Button22
    For $9 = 1 To ($8-1) Step 1
    If GUICtrlRead($Checkbox4[$9]) = "1" Then
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $9)
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $9)
    EndIf
    Next
    $10 = 1
    For $11 = 1 To ($8-1) Step 1
    If GUICtrlRead($Checkbox4[$11]) = $GUI_UNCHECKED Then
    $s1 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $11, "")
    $s2 = IniRead(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $11, "")
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $11)
    IniDelete(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $11)
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosURL", $10, $s1)
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "EigeneRadiosNamen", $10, $s2)
    $10 = $10 + 1
    EndIf
    Next
    $msgbox2 = MsgBox(68, "Info", "Damit die Änderungen wirksam werden muss das Programm neugestartet werden.")
    Select
    Case $msgbox2 = 6
    GUIDelete($Form21)
    GUIDelete($Form1)
    ShellExecute(@ScriptFullPath)
    Exit
    Case $msgbox2 = 7
    GUIDelete($Form21)
    ExitLoop
    EndSelect
    EndSwitch
    WEnd
    GUISetState(@SW_ENABLE, $Form1)
    GUISetState(@SW_RESTORE, $Form1)
    EndFunc

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

    Func sgui()
    #Region ### START Koda GUI section ### Form=
    $Form2=GUICreate("Erweiterte Einstellungen", 250, 250, @DesktopWidth-550, 150)
    WinSetOnTop("Erweiterte Einstellungen","", 1)
    $Checkbox1 = GUICtrlCreateCheckbox("Immer im Vordergrund", 20, 17)
    If $iread5 = "1" Then GUICtrlSetState($Checkbox1, $GUI_CHECKED)
    $Checkbox2 = GUICtrlCreateCheckbox("Minimize to Tray", 20, 42)
    If $iread6 = "1" Then GUICtrlSetState($Checkbox2, $GUI_CHECKED)
    $Checkbox3 = GUICtrlCreateCheckbox("Transperenz", 20, 67)
    If $iread7 = "1" Then GUICtrlSetState($Checkbox3, $GUI_CHECKED)
    $Checkbox4 = GUICtrlCreateCheckbox("Maximale Anzahl an Sendern", 20, 92)
    If $iread10 = "1" Then GUICtrlSetState($Checkbox4, $GUI_CHECKED)
    $input1 = GUICtrlCreateInput($iread9, 180, 95, 40, 20)
    GUICtrlCreateUpdown($input1)
    ;~ GUICtrlSetData($input1, $iread1)
    $Combo2 = GUICtrlCreateCombo($iread8, 180, 70, 40, 20)
    GUICtrlSetData($Combo2, "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25")
    GUICtrlCreateLabel("Aktion beim Drücken es Speichern-Buttons:", 20, 120, 280, 20)
    $Combo21 = GUICtrlCreateCombo($iread11, 20, 140, 200, 20)
    GUICtrlSetData($Combo21, "Als .txt speichern|Letzten Titel in die Zwischenablage|Alle Titel in die Zwischenablage")
    $Button5 = GUICtrlCreateButton("&Speichern", 100, 180, 85, 25, 0)
    #EndRegion ### END Koda GUI section ###
    GUISetState(@SW_SHOW, $Form2)
    While 1
    $nMsg2 = GUIGetMsg()
    $nstatCheck3 = GUICtrlRead($Checkbox3)
    $nstatCheck4 = GUICtrlRead ($Checkbox4)
    Switch $nMsg2
    Case $GUI_EVENT_CLOSE
    GUIDelete($Form2)
    ExitLoop
    Case $Button5
    $readcheck1 = GUICtrlRead($Checkbox1)
    $readcheck2 = GUICtrlRead($Checkbox2)
    $readcheck3 = GUICtrlRead($Checkbox3)
    $readcheck4 = GUICtrlRead($Checkbox4)
    $readcombo2 = GUICtrlRead($Combo2)
    $readcombo21 = GUICtrlRead($Combo21)
    $readud = GUICtrlRead($input1)
    If $readcheck1 = $GUI_CHECKED Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "AllwaysOnTop", "1")
    Else
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "AllwaysOnTop", "0")
    EndIf
    If $readcheck2 = $GUI_CHECKED Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MinimizeToTray", "1")
    Else
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MinimizeToTray", "0")
    EndIf
    If $readcheck3 = $GUI_CHECKED Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Transparency", "1")
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "TransPercent", $readcombo2)
    Else
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Transparency", "0")
    EndIf
    If $readcheck4 = $GUI_CHECKED And $readud <> "10" Then
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadio", "1")
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "MaxRadios", $readud)
    EndIf
    IniWrite(@ScriptDir & "\Eigene_Radios.ini", "Settings", "Action", $readcombo21)
    $msgbox2 = MsgBox(68, "Info", "Damit die Änderungen wirksam werden muss das Programm neugestartet werden.")
    Do
    Select
    Case $msgbox2 = 6
    ShellExecute(@ScriptFullPath)
    Exit
    Case $msgbox2 = 7
    ExitLoop
    EndSelect
    Until WinExists("Info")
    EndSwitch
    If $statCombo1 <> $nstatCheck3 Then
    If $nstatCheck3 = $GUI_CHECKED Then
    GUICtrlSetState($Combo2, $GUI_ENABLE)
    Else
    GUICtrlSetState($Combo2, $GUI_DISABLE)
    EndIf
    $statCombo1 = $nstatCheck3
    EndIf
    If $statud <> $nstatCheck4 Then
    If $nstatCheck4 = $GUI_CHECKED Then
    GUICtrlSetState($input1, $GUI_ENABLE)
    Else
    GUICtrlSetState($input1, $GUI_DISABLE)
    EndIf
    $statud = $nstatCheck4
    EndIf
    WEnd
    EndFunc

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

    #Region HotkeyControl
    ; ==================================================================================================
    ; Func _ToggleAsHotkeyControl($hWnd)
    ;
    ; Function to toggle whether the input control is a hotkey
    ;
    ; $hWnd = Handle to the input control
    ;
    ; Returns:
    ; Success: True
    ; Failure: False, with @error set:
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _ToggleAsHotkeyControl($hWnd)
    Dim $nI, $nJ = -1, $bFound = False

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

    ; Check the current array to see if we've already got this one
    For $nI = 0 To UBound($gaHotkeyList) - 1
    If $gaHotkeyList[$nI][0] = $hWnd Then
    ; Found it
    $bFound = True
    $nJ = $nI
    ExitLoop
    ElseIf (Not IsHWnd($gaHotkeyList[$nI][0])) And ($nJ = -1) Then
    ; Remember the first empty location
    $nJ = $nI
    EndIf
    Next

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

    ; If we already had it then remove this one
    If $bFound Then
    $gaHotkeyList[$nJ][0] = ""
    _WinAPI_SetWindowLong($hWnd, 0xFFFFFFFC, $gaHotkeyList[$nJ][3])
    Return SetError(0, 0, True)
    EndIf

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

    ; If we don't have any spare slots then this is an error
    If ($nJ = -1) Then Return SetError(1, 0, False)
    ; Store the details and subclass the window
    $gaHotkeyList[$nJ][0] = $hWnd
    $gaHotkeyList[$nJ][1] = ""
    $gaHotkeyList[$nJ][2] = DllCallbackRegister("_HotkeyWindowProc", "ptr", "hwnd;uint;long;ptr")
    $gaHotkeyList[$nJ][3] = _WinAPI_SetWindowLong($hWnd, 0xFFFFFFFC, DllCallbackGetPtr($gaHotkeyList[$nJ][2]))
    $gaHotkeyList[$nJ][4] = 0
    $gaHotkeyList[$nJ][5] = False
    $gaHotkeyList[$nJ][6] = ""

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

    ; Success
    Return SetError(0, 0, True)
    EndFunc ;==>_ToggleAsHotkeyControl

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

    ; ==================================================================================================
    ; Func _HotkeyWindowProc($hWnd, $uiMsg, $wParam, $lParam)
    ;
    ; Windows procedure for subclassing an input control
    ;
    ; $hWnd = Handle to the input control
    ; $uiMsg = The windows message
    ; $wParam = WPARAM
    ; $lParam = LPARAM
    ;
    ; Returns:
    ; 1 = Don't process this message as it's already been handled
    ; Other = Use the default processing for this message
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _HotkeyWindowProc($hWnd, $uiMsg, $wParam, $lParam)
    Local $scanCode, $sAutoitKey
    Local $nIndex = _GetHandleIndex($hWnd)
    If $nIndex >= 0 Then
    If $uiMsg = $WM_GETDLGCODE Then
    If $wParam = $VKEY_RETURN Then
    $uiMsg = $WM_KEYDOWN
    EndIf
    EndIf
    Switch $uiMsg
    Case $WM_SETFOCUS
    $gaHotkeyList[$nIndex][4] = 0
    $gaHotkeyList[$nIndex][5] = False
    $gaHotkeyList[$nIndex][6] = ""
    Case $WM_SYSKEYDOWN, $WM_KEYDOWN
    $scanCode = DllCall("user32.dll", "uint", "MapVirtualKey", "uint", $wParam, "uint", 2)
    Switch $wParam
    Case $VKEY_SHIFT, $VKEY_LSHIFT, $VKEY_RSHIFT
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 1)
    Case $VKEY_CONTROL, $VKEY_LCONTROL, $VKEY_RCONTROL
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 2)
    Case $VKEY_LWIN, $VKEY_RWIN
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 4)
    Case $VKEY_MENU, $VKEY_LMENU, $VKEY_RMENU
    $gaHotkeyList[$nIndex][4] = BitOR($gaHotkeyList[$nIndex][4], 8)
    $sAutoitKey = _GetAutoItCode($wParam)
    Case Else
    $sAutoitKey = _GetAutoItCode($wParam)
    If $sAutoitKey = "" Then
    Select
    Case $scanCode[0] = 65
    $sAutoitKey = Chr(97)
    Case $scanCode[0] = 66
    $sAutoitKey = Chr(98)
    Case $scanCode[0] = 67
    $sAutoitKey = Chr(99)
    Case $scanCode[0] = 68
    $sAutoitKey = Chr(100)
    Case $scanCode[0] = 69
    $sAutoitKey = Chr(101)
    Case $scanCode[0] = 70
    $sAutoitKey = Chr(102)
    Case $scanCode[0] = 71
    $sAutoitKey = Chr(103)
    Case $scanCode[0] = 72
    $sAutoitKey = Chr(104)
    Case $scanCode[0] = 73
    $sAutoitKey = Chr(105)
    Case $scanCode[0] = 74
    $sAutoitKey = Chr(106)
    Case $scanCode[0] = 75
    $sAutoitKey = Chr(107)
    Case $scanCode[0] = 76
    $sAutoitKey = Chr(108)
    Case $scanCode[0] = 77
    $sAutoitKey = Chr(109)
    Case $scanCode[0] = 78
    $sAutoitKey = Chr(110)
    Case $scanCode[0] = 79
    $sAutoitKey = Chr(111)
    Case $scanCode[0] = 80
    $sAutoitKey = Chr(112)
    Case $scanCode[0] = 81
    $sAutoitKey = Chr(113)
    Case $scanCode[0] = 82
    $sAutoitKey = Chr(114)
    Case $scanCode[0] = 83
    $sAutoitKey = Chr(115)
    Case $scanCode[0] = 84
    $sAutoitKey = Chr(116)
    Case $scanCode[0] = 85
    $sAutoitKey = Chr(117)
    Case $scanCode[0] = 86
    $sAutoitKey = Chr(118)
    Case $scanCode[0] = 87
    $sAutoitKey = Chr(119)
    Case $scanCode[0] = 88
    $sAutoitKey = Chr(120)
    Case $scanCode[0] = 89
    $sAutoitKey = Chr(121)
    Case $scanCode[0] = 90
    $sAutoitKey = Chr(122)
    Case $sAutoitKey = ""
    If $scanCode[0] <> 0 Then $sAutoitKey = Chr($scanCode[0])
    EndSelect
    EndIf
    If $sAutoitKey <> "" Then
    $gaHotkeyList[$nIndex][6] = $sAutoitKey
    _ShowHotKey($nIndex)
    $gaHotkeyList[$nIndex][5] = True
    EndIf
    EndSwitch
    If Not $gaHotkeyList[$nIndex][5] Then _ShowHotKey($nIndex)
    Return 1
    Case $WM_SYSKEYUP, $WM_KEYUP
    Switch $wParam
    Case $VKEY_SHIFT, $VKEY_LSHIFT, $VKEY_RSHIFT
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 14)
    Case $VKEY_CONTROL, $VKEY_LCONTROL, $VKEY_RCONTROL
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 13)
    Case $VKEY_LWIN, $VKEY_RWIN
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 11)
    Case $VKEY_MENU, $VKEY_LMENU, $VKEY_RMENU
    $gaHotkeyList[$nIndex][4] = BitAND($gaHotkeyList[$nIndex][4], 7)
    EndSwitch
    If Not $gaHotkeyList[$nIndex][5] Then _ShowHotKey($nIndex)
    If $gaHotkeyList[$nIndex][5] Then
    $gaHotkeyList[$nIndex][5] = ($gaHotkeyList[$nIndex][5] <> 0)
    If Not $gaHotkeyList[$nIndex][5] Then $gaHotkeyList[$nIndex][6] = ""
    EndIf
    Return 1
    Case $WM_CHAR, $WM_PASTE, $WM_CUT
    Return 1
    EndSwitch
    Return _WinAPI_CallWindowProc($gaHotkeyList[$nIndex][3], $hWnd, $uiMsg, $wParam, $lParam)
    Else
    Return _WinAPI_DefWindowProc($hWnd, $uiMsg, $wParam, $lParam)
    EndIf
    EndFunc ;==>_HotkeyWindowProc

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

    ; ==================================================================================================
    ; Func _GetAutoItCode($vkCode)
    ;
    ; Get an AutoIt equivalent for a virtual key
    ;
    ; $vkCode = The virtual key code
    ;
    ; Returns:
    ; The AutoIt equivalent or an empty string if there isn't one
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _GetAutoItCode($vkCode)
    Local $nI, $sRet = ""

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

    ; Look through the map array to find this value
    For $nI = 0 To UBound($gaVirtkeyMap) - 1
    If $gaVirtkeyMap[$nI][0] = $vkCode Then
    ; Found it ... return it
    $sRet = $gaVirtkeyMap[$nI][1]
    ExitLoop
    EndIf
    Next

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

    Return SetError(0, 0, $sRet)
    EndFunc ;==>_GetAutoItCode

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

    ; ==================================================================================================
    ; Func _ShowHotKey($nIndex)
    ;
    ; Display the hotkey for an input control
    ;
    ; $nIndex = The array index for the control
    ;
    ; Returns:
    ; None - the text of the control is set
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _ShowHotKey($nIndex)
    Local $sText = ""
    $gaHotkeyList[$nIndex][1] = ""

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

    ; Build up the hotkey - display and AutoIt specific
    If BitAND($gaHotkeyList[$nIndex][4], 1) Then
    $gaHotkeyList[$nIndex][1] &= "+"
    $sText &= "SHIFT + "
    EndIf
    If BitAND($gaHotkeyList[$nIndex][4], 2) Then
    $gaHotkeyList[$nIndex][1] &= "^"
    $sText &= "CTRL + "
    EndIf
    If BitAND($gaHotkeyList[$nIndex][4], 4) Then
    $gaHotkeyList[$nIndex][1] &= "#"
    $sText &= "WIN + "
    EndIf
    If BitAND($gaHotkeyList[$nIndex][4], 8) Then
    $gaHotkeyList[$nIndex][1] &= "!"
    $sText &= "ALT + "
    EndIf
    $gaHotkeyList[$nIndex][1] &= $gaHotkeyList[$nIndex][6]
    $sText &= $gaHotkeyList[$nIndex][6]
    _WinAPI_SetWindowText($gaHotkeyList[$nIndex][0], $sText)
    _GUICtrlEdit_SetSel($gaHotkeyList[$nIndex][0], StringLen($sText), StringLen($sText))
    EndFunc ;==>_ShowHotKey

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

    ; ==================================================================================================
    ; Func _GetHandleIndex($hWnd)
    ;
    ; Get the index in the array for a window handle
    ;
    ; $hWnd = The window handle of the input control
    ;
    ; Returns:
    ; The array index for the handle or -1 if it's not found
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _GetHandleIndex($hWnd)
    Local $nI, $nJ = -1
    For $nI = 0 To UBound($gaHotkeyList) - 1
    If $gaHotkeyList[$nI][0] = $hWnd Then
    $nJ = $nI
    ExitLoop
    EndIf
    Next
    Return $nJ
    EndFunc ;==>_GetHandleIndex

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

    ; ==================================================================================================
    ; Func _GetAutoItHotkey($hWnd)
    ;
    ; Get the AutoIt hotkey combination for a window handle
    ;
    ; $hWnd = The window handle of the input control
    ;
    ; Returns:
    ; Success: The AutoIt version of the hotkey which can be used in HotKeySet
    ; Failure: An empty string ("") with @error set to 1
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _GetAutoItHotkey($hWnd)
    Local $nIndex = _GetHandleIndex($hWnd)
    If $nIndex = -1 Then Return SetError(1, 0, "")
    Return SetError(0, 0, $gaHotkeyList[$nIndex][1])
    EndFunc ;==>_GetAutoItHotkey

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

    ; ==================================================================================================
    ; Func _SetAutoItHotkey($hWnd, $sAutoitKey)
    ;
    ; Set the AutoIt hotkey combination for a window handle
    ;
    ; $hWnd = The window handle of the input control
    ; $sAutoitKey = The Autoit hotkey string
    ;
    ; Returns:
    ; Success: The AutoIt version of the hotkey which can be used in HotKeySet
    ; Failure: An empty string ("") with @error set to 1
    ;
    ; Author: WideBoyDixon
    ; ==================================================================================================
    Func _SetAutoItHotkey($hWnd, $sAutoitKey)
    Local $nIndex = _GetHandleIndex($hWnd), $sKey = $sAutoitKey
    If $nIndex = -1 Then Return SetError(1, 0, False)
    $gaHotkeyList[$nIndex][4] = 0
    $gaHotkeyList[$nIndex][5] = False
    $gaHotkeyList[$nIndex][6] = ""
    While StringInStr("+^#!", StringLeft($sKey, 1)) > 0
    Switch StringLeft($sKey, 1)
    Case "+"
    $gaHotkeyList[$nIndex][4] += 1
    Case "^"
    $gaHotkeyList[$nIndex][4] += 2
    Case "#"
    $gaHotkeyList[$nIndex][4] += 4
    Case "!"
    $gaHotkeyList[$nIndex][4] += 8
    EndSwitch
    $sKey = StringMid($sKey, 2)
    WEnd
    $gaHotkeyList[$nIndex][6] = $sKey
    _ShowHotKey($nIndex)
    EndFunc ;==>_SetAutoItHotkey
    #EndRegion HotkeyControl
    #EndRegion Funktionen

    [/autoit]