Programm stütz ab

  • Warum stürzt das Programm bei mir immer mit dem Fehler: "WinVerstecker.au3 (240) : ==> Subscript used with non-Array variable.:
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $GUI_CHECKED, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    _StatusAndern($AktuellePosition^ ERROR" ab?

  • [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #include <Array.au3>

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

    Opt("TrayAutoPause", 0)
    Opt("TrayMenuMode", 1)

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

    TraySetIcon(@WindowsDir & "\system32\shell32.dll", -123)
    TraySetClick(18)

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

    Local $Fenster_Status = 0, $Fenster_Name, $PfadZuSprachenINI = @ScriptDir & "\Sprachen.ini", $PfadZuEinstellungenINI = @ScriptDir & "\Einstellungen.ini"
    Local $PfadZuGadgetsINI = @ScriptDir & "\Gadgets.ini", $SprachenNummer = IniRead($PfadZuEinstellungenINI, "Einstellungen", "Sprache", "1")
    Dim $AusgeblendeteFenster[1]

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

    $TrayMenu_StatusAndern = TrayCreateItem(IniRead($PfadZuSprachenINI, $SprachenNummer, "TrayMenu_StatusÄndern", "Fehler!"))
    $TrayMenu_AlleEinblenden = TrayCreateItem(IniRead($PfadZuSprachenINI, $SprachenNummer, "TrayMenu_AlleEinblenden", "Fehler!"))
    TrayCreateItem("")
    $TrayMenu_SpracheAndern = TrayCreateItem(IniRead($PfadZuSprachenINI, $SprachenNummer, "TrayMenu_SpracheÄndern", "Fehler!"))
    TrayCreateItem("")
    $TrayMenu_Ende = TrayCreateItem(IniRead($PfadZuSprachenINI, $SprachenNummer, "TrayMenu_Ende", "Fehler!"))

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

    HotKeySet("!{F8}", "_AlleAnzeigen")
    HotKeySet("!{F9}", "_StatusAndernVonHotKey")
    HotKeySet("!{F10}", "_ende")

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

    If IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0) = 0 Then
    MsgBox(262160, "WinVerstecker/FönsterGömmare/WindowHider", "Sprachdatei fehlt!/Språkfilen saknas!/Language file is missing!")
    Exit
    EndIf

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

    If IniRead($PfadZuEinstellungenINI, "Einstellungen", "Sprache", "") = "" Then
    _SpracheWahlen()
    ElseIf _StringEncrypt(0, IniRead($PfadZuEinstellungenINI, "Einstellungen", "Lizens", ""), "WinVerstecker", 2) <> "WinVerstecker" Then
    _Lizensieren()
    ElseIf $CMDLine[0] > 0 Then
    If $CMDLine[1] = "lizens" Then
    _Lizensieren()
    EndIf
    EndIf

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

    While 1
    Switch TrayGetMsg()
    Case $TrayMenu_Ende
    _ende()
    Case $TrayMenu_StatusAndern
    _StatusAndern(-1, -1)
    Case $TrayMenu_AlleEinblenden
    _AlleAnzeigen()
    Case $TrayMenu_SpracheAndern
    _SpracheAndern()
    EndSwitch
    WEnd

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

    Func _StatusAndernVonHotKey()
    _StatusAndern(-1, -1)
    EndFunc ;==>_StatusAndernVonHotKey

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

    Func _StatusAndern($XPosition, $YPosition, $AktuellerStatus_Checkbox1 = $GUI_UNCHECKED, $AktuellerStatus_Checkbox2 = $GUI_CHECKED, $AktuellerStatus_Checkbox3 = $GUI_CHECKED, $AktuellerStatus_Checkbox4 = $GUI_UNCHECKED)
    Dim $WinList = WinList()
    Local $AlleFenster = "", $Anzeigen = 1

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

    If $AktuellerStatus_Checkbox1 = $GUI_UNCHECKED Then
    For $Durchlauf = 1 To $WinList[0][0]
    $Anzeigen = 1

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

    Switch $WinList[$Durchlauf][0]
    Case "Kalender"
    $Anzeigen = 0
    Case "Uhr"
    $Anzeigen = 0
    Case "Kontakte"
    $Anzeigen = 0
    Case "CPU-Nutzung"
    $Anzeigen = 0
    Case "Währungsrechner"
    $Anzeigen = 0
    Case "Notizen"
    $Anzeigen = 0
    Case "Bildpuzzle"
    $Anzeigen = 0
    Case "Feedschlagzeilen"
    $Anzeigen = 0
    Case "Diashow"
    $Anzeigen = 0
    Case "Aktien"
    $Anzeigen = 0
    Case "Wetter"
    $Anzeigen = 0
    Case "Binary Clock"
    $Anzeigen = 0
    Case "Calculator"
    $Anzeigen = 0
    Case "Vista Clock Platin"
    $Anzeigen = 0
    Case "Google German"
    $Anzeigen = 0
    Case "Mousometer"
    $Anzeigen = 0
    Case "Multi Meter(D)"
    $Anzeigen = 0
    EndSwitch

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

    For $DurchlaufGadgets = 1 To IniRead($PfadZuGadgetsINI, "Anzahl", "Anzahl", 0)
    If IniRead($PfadZuGadgetsINI, "Gadgets", $DurchlaufGadgets, "DiesesFensterIstNichtVerfügbar") = $WinList[$Durchlauf][0] Then
    $Anzeigen = 0
    EndIf
    Next

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

    If $WinList[$Durchlauf][0] <> "Program Manager" And $WinList[$Durchlauf][0] <> "" And IsVisible($WinList[$Durchlauf][1]) And $Anzeigen = 1 And $WinList[$Durchlauf][0] <> "AppBar Bullet" And $WinList[$Durchlauf][0] <> "Windows Sidebar" And $WinList[$Durchlauf][0] <> "Start" And $WinList[$Durchlauf][0] <> "AMD:CCC-AEMCapturingWindow" And $WinList[$Durchlauf][0] <> "Main" Then
    $AlleFenster = $AlleFenster & "|" & "(an): " & $WinList[$Durchlauf][0]
    EndIf
    Next
    Else
    For $Durchlauf = 1 To $WinList[0][0]
    If $WinList[$Durchlauf][0] <> "Program Manager" And $WinList[$Durchlauf][0] <> "" And IsVisible($WinList[$Durchlauf][1]) And $WinList[$Durchlauf][0] <> "AppBar Bullet" And $WinList[$Durchlauf][0] <> "Windows Sidebar" And $WinList[$Durchlauf][0] <> "Start" And $WinList[$Durchlauf][0] <> "AMD:CCC-AEMCapturingWindow" And $WinList[$Durchlauf][0] <> "Main" Then
    $AlleFenster = $AlleFenster & "|" & "(an): " & $WinList[$Durchlauf][0]
    EndIf
    Next
    EndIf

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

    If UBound($AusgeblendeteFenster) > 1 Then
    For $Durchlauf In $AusgeblendeteFenster
    If $Durchlauf <> "" Then
    $AlleFenster = $AlleFenster & "|" & "(aus): " & $Durchlauf
    EndIf
    Next
    EndIf

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

    $AlleFenster = StringRight($AlleFenster, StringLen($AlleFenster) - 1)

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

    $FensterManger = GUICreate(IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), 625, 406, $XPosition, $YPosition)
    GUISetBkColor(0xFFFF00)
    $KontextMenu = GUICtrlCreateContextMenu(-1)
    $KontextMenu_Aktuallisieren = GUICtrlCreateMenuItem(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_KontextMenuAktuallisieren", "Fehler!"), $KontextMenu)

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

    $List1 = GUICtrlCreateList("", 8, 8, 609, 276, BitOR($LBS_SORT, $LBS_STANDARD, $WS_VSCROLL, $WS_BORDER))
    GUICtrlSetData(-1, $AlleFenster)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Checkbox1 = GUICtrlCreateCheckbox(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_SidebarGadgetsAnzeigen", "Fehler!"), 8, 292, 250)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState(-1, $AktuellerStatus_Checkbox1)
    $Checkbox2 = GUICtrlCreateCheckbox(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_SidebarAnzeigen", "Fehler!"), 266, 292, 170)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState(-1, $AktuellerStatus_Checkbox2)
    $Checkbox3 = GUICtrlCreateCheckbox(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_PfeileÜberSidebarAnzeigen", "Fehler!"), 8, 320, 280)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState(-1, $AktuellerStatus_Checkbox3)
    $Checkbox4 = GUICtrlCreateCheckbox(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_GadgetsAusblenden", "Fehler!"), 290, 320, 200)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState(-1, $AktuellerStatus_Checkbox4)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_GadgetsHinzufügenTeil1", "Fehler!"), 444, 292, 176)
    GUICtrlSetFont(-1, 9, 600, 0, "Arial Black")
    $Button2 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_GadgetsHinzufügenTeil2", "Fehler!"), 495, 320, 125)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial Black")

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

    If @OSVersion <> "WIN_VISTA" Then
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    GUICtrlSetState($Checkbox2, $GUI_DISABLE)
    GUICtrlSetState($Checkbox3, $GUI_DISABLE)
    GUICtrlSetState($Checkbox4, $GUI_DISABLE)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    EndIf

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

    $Button3 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_Anzeigen", "Fehler!"), 8, 348, 183, 53, $WS_GROUP)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial Black")
    $Button4 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_Ausblenden", "Fehler!"), 201, 348, 199, 53, $WS_GROUP)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial Black")
    $Button5 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "FensterManager_Schließen", "Fehler!"), 470, 348, 149, 53, $WS_GROUP)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial Black")

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    ExitLoop
    Case $Button5
    GUIDelete()
    ExitLoop
    Case $Button4
    If StringLeft(GUICtrlRead($List1), 5) <> "(aus)" And GUICtrlRead($List1) <> "" Then
    WinSetState(StringRight(GUICtrlRead($List1), StringLen(GUICtrlRead($List1)) - 6), "", @SW_HIDE)
    _ArrayAdd($AusgeblendeteFenster, StringRight(GUICtrlRead($List1), StringLen(GUICtrlRead($List1)) - 6))

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

    WinActivate(IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"))
    $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    ExitLoop
    Else
    If GUICtrlRead($List1) = "" Then
    MsgBox(262160, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "Fehler_KeinFensterAusgewählt", "Fehler!"))
    Else
    MsgBox(262208, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "Fehler_GewünschtesFensterIstAusgeblendet", "Fehler!"))
    EndIf
    EndIf
    Case $Button3
    If StringLeft(GUICtrlRead($List1), 4) <> "(an)" And GUICtrlRead($List1) <> "" Then
    _Anzeigen(StringRight(GUICtrlRead($List1), StringLen(GUICtrlRead($List1)) - 7))
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    ExitLoop
    Else
    If GUICtrlRead($List1) = "" Then
    MsgBox(262160, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "Fehler_KeinFensterAusgewählt", "Fehler!"))
    Else
    MsgBox(262208, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "Fehler_GewünschtesFensterNichtAusgebelendet", "Fehler!"))
    EndIf
    EndIf
    Case $KontextMenu_Aktuallisieren
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    ExitLoop
    Case $Button1
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _GadgetHinzufugen()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    ExitLoop
    Case $Button2
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _GadgetHinzufugen()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3)
    EndSwitch

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

    If GUICtrlRead($Checkbox1) <> $AktuellerStatus_Checkbox1 Then
    If $AktuellerStatus_Checkbox1 = $GUI_CHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $GUI_UNCHECKED, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    Else
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $GUI_CHECKED, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    EndIf

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

    ExitLoop
    EndIf

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

    If GUICtrlRead($Checkbox2) <> $AktuellerStatus_Checkbox2 And GUICtrlRead($Checkbox2) = $GUI_UNCHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    WinSetState("Windows Sidebar", "", @SW_HIDE)
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $GUI_UNCHECKED, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    ElseIf GUICtrlRead($Checkbox2) <> $AktuellerStatus_Checkbox2 And GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    WinSetState("Windows Sidebar", "", @SW_SHOW)
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $GUI_CHECKED, $AktuellerStatus_Checkbox3, $AktuellerStatus_Checkbox4)
    EndIf

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

    If GUICtrlRead($Checkbox3) <> $AktuellerStatus_Checkbox3 And GUICtrlRead($Checkbox3) = $GUI_UNCHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    WinSetState("AppBar Bullet", "", @SW_HIDE)
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $GUI_UNCHECKED, $AktuellerStatus_Checkbox4)
    ElseIf GUICtrlRead($Checkbox3) <> $AktuellerStatus_Checkbox3 And GUICtrlRead($Checkbox3) = $GUI_CHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    WinSetState("AppBar Bullet", "", @SW_SHOW)
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $GUI_CHECKED, $AktuellerStatus_Checkbox4)
    EndIf

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

    If GUICtrlRead($Checkbox4) <> $AktuellerStatus_Checkbox4 And GUICtrlRead($Checkbox4) = $GUI_CHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    Dim $NeueWinList = WinList()

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

    For $Durchlauf = 1 To $NeueWinList[0][0]
    $Anzeigen = 1

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

    Switch $NeueWinList[$Durchlauf][0]
    Case "Kalender"
    $Anzeigen = 0
    Case "Uhr"
    $Anzeigen = 0
    Case "Kontakte"
    $Anzeigen = 0
    Case "CPU-Nutzung"
    $Anzeigen = 0
    Case "Währungsrechner"
    $Anzeigen = 0
    Case "Notizen"
    $Anzeigen = 0
    Case "Bildpuzzle"
    $Anzeigen = 0
    Case "Feedschlagzeilen"
    $Anzeigen = 0
    Case "Diashow"
    $Anzeigen = 0
    Case "Aktien"
    $Anzeigen = 0
    Case "Wetter"
    $Anzeigen = 0
    Case "Binary Clock"
    $Anzeigen = 0
    Case "Calculator"
    $Anzeigen = 0
    Case "Vista Clock Platin"
    $Anzeigen = 0
    Case "Google German"
    $Anzeigen = 0
    Case "Mousometer"
    $Anzeigen = 0
    Case "Multi Meter(D)"
    $Anzeigen = 0
    EndSwitch

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

    For $DurchlaufGadgets = 1 To IniRead($PfadZuGadgetsINI, "Anzahl", "Anzahl", 0)
    If IniRead($PfadZuGadgetsINI, "Gadgets", $DurchlaufGadgets, "DiesesFensterIstNichtVerfügbar") = $WinList[$Durchlauf][0] Then
    $Anzeigen = 0
    EndIf
    Next

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

    If $Anzeigen = 0 Then
    WinSetState($NeueWinList[$Durchlauf][0], "", @SW_HIDE)
    EndIf
    Next
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $GUI_CHECKED)
    ElseIf GUICtrlRead($Checkbox4) <> $AktuellerStatus_Checkbox4 And GUICtrlRead($Checkbox4) = $GUI_UNCHECKED Then
    Dim $AktuellePosition = WinGetPos($FensterManger)
    GUIDelete()
    Dim $NeueWinList = WinList()
    For $Durchlauf = 1 To $NeueWinList[0][0]
    $Anzeigen = 1

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

    Switch $NeueWinList[$Durchlauf][0]
    Case "Kalender"
    $Anzeigen = 0
    Case "Uhr"
    $Anzeigen = 0
    Case "Kontakte"
    $Anzeigen = 0
    Case "CPU-Nutzung"
    $Anzeigen = 0
    Case "Währungsrechner"
    $Anzeigen = 0
    Case "Notizen"
    $Anzeigen = 0
    Case "Bildpuzzle"
    $Anzeigen = 0
    Case "Feedschlagzeilen"
    $Anzeigen = 0
    Case "Diashow"
    $Anzeigen = 0
    Case "Aktien"
    $Anzeigen = 0
    Case "Wetter"
    $Anzeigen = 0
    Case "Binary Clock"
    $Anzeigen = 0
    Case "Calculator"
    $Anzeigen = 0
    Case "Vista Clock Platin"
    $Anzeigen = 0
    Case "Google German"
    $Anzeigen = 0
    Case "Mousometer"
    $Anzeigen = 0
    Case "Multi Meter(D)"
    $Anzeigen = 0
    EndSwitch

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

    For $DurchlaufGadgets = 1 To IniRead($PfadZuGadgetsINI, "Anzahl", "Anzahl", 0)
    If IniRead($PfadZuGadgetsINI, "Gadgets", $DurchlaufGadgets, "DiesesFensterIstNichtVerfügbar") = $WinList[$Durchlauf][0] Then
    $Anzeigen = 0
    EndIf
    Next

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

    If $Anzeigen = 0 Then
    WinSetState($NeueWinList[$Durchlauf][0], "", @SW_SHOW)
    EndIf
    Next
    _StatusAndern($AktuellePosition[0], $AktuellePosition[1], $AktuellerStatus_Checkbox1, $AktuellerStatus_Checkbox2, $AktuellerStatus_Checkbox3, $GUI_UNCHECKED)
    EndIf
    WEnd
    EndFunc ;==>_StatusAndern

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

    Func _GadgetHinzufugen()
    Dim $WinList = WinList()
    Local $AlleFenster = "", $Anzeigen = 1

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

    For $Durchlauf = 1 To $WinList[0][0]
    $Anzeigen = 1

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

    Switch $WinList[$Durchlauf][0]
    Case "Kalender"
    $Anzeigen = 0
    Case "Uhr"
    $Anzeigen = 0
    Case "Kontakte"
    $Anzeigen = 0
    Case "CPU-Nutzung"
    $Anzeigen = 0
    Case "Währungsrechner"
    $Anzeigen = 0
    Case "Notizen"
    $Anzeigen = 0
    Case "Bildpuzzle"
    $Anzeigen = 0
    Case "Feedschlagzeilen"
    $Anzeigen = 0
    Case "Diashow"
    $Anzeigen = 0
    Case "Aktien"
    $Anzeigen = 0
    Case "Wetter"
    $Anzeigen = 0
    Case "Binary Clock"
    $Anzeigen = 0
    Case "Calculator"
    $Anzeigen = 0
    Case "Vista Clock Platin"
    $Anzeigen = 0
    Case "Google German"
    $Anzeigen = 0
    Case "Mousometer"
    $Anzeigen = 0
    Case "Multi Meter(D)"
    $Anzeigen = 0
    EndSwitch

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

    For $DurchlaufGadgets = 1 To IniRead($PfadZuGadgetsINI, "Anzahl", "Anzahl", 0)
    If IniRead($PfadZuGadgetsINI, "Gadgets", $DurchlaufGadgets, "DiesesFensterIstNichtVerfügbar") = $WinList[$Durchlauf][0] Then
    $Anzeigen = 0
    EndIf
    Next

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

    If $WinList[$Durchlauf][0] <> "Program Manager" And $WinList[$Durchlauf][0] <> "" And IsVisible($WinList[$Durchlauf][1]) And $Anzeigen = 1 And $WinList[$Durchlauf][0] <> "AppBar Bullet" And $WinList[$Durchlauf][0] <> "Windows Sidebar" And $WinList[$Durchlauf][0] <> "Start" And $WinList[$Durchlauf][0] <> "AMD:CCC-AEMCapturingWindow" And $WinList[$Durchlauf][0] <> "Main" Then
    $AlleFenster = $AlleFenster & "|" & $WinList[$Durchlauf][0]
    EndIf
    Next

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

    $AlleFenster = StringRight($AlleFenster, StringLen($AlleFenster) - 1)

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

    $FensterManger = GUICreate(IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), 625, 335, -1, -1)
    GUISetBkColor(0xFFFF00)

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

    $List1 = GUICtrlCreateList("", 8, 8, 609, 276, BitOR($LBS_SORT, $LBS_STANDARD, $WS_VSCROLL, $WS_BORDER))
    GUICtrlSetData(-1, $AlleFenster)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "GadgetHinzufügen_ProgrammAlsGadgetErkennen", "Fehler!"), 8, 292, 609, 40)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial Black")

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    ExitLoop
    Case $Button1
    If GUICtrlRead($List1) <> "" Then
    $Frage = MsgBox(262212, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), GUICtrlRead($List1) & " " & IniRead($PfadZuSprachenINI, $SprachenNummer, "GadgetHinzufügen_Sicherheitsfrage", "Fehler!"))
    If $Frage = 6 Then
    IniWrite($PfadZuGadgetsINI, "Anzahl", "Anzahl", IniRead($PfadZuGadgetsINI, "Anzahl", "Anzahl", 0) + 1)
    IniWrite($PfadZuGadgetsINI, "Gadgets", IniRead($PfadZuGadgetsINI, "Anzahl", "Anzahl", 0), GUICtrlRead($List1))
    MsgBox(262208, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "GadgetHinzufügen_GadgetErfolgreichGespeichert", "Fehler!"))
    GUIDelete()
    ExitLoop
    EndIf
    Else
    MsgBox(262160, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "GadgetHinzufügen_KeinEintragAusgewählt", "Fehler!"))
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>_GadgetHinzufugen

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

    Func _Anzeigen($Fenster)
    For $Durchlauf In $AusgeblendeteFenster
    If $Fenster = $Durchlauf Then WinSetState($Durchlauf, "", @SW_SHOW)
    Next

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

    If UBound($AusgeblendeteFenster) > 2 Then
    Dim $NeuerArray[1]

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

    For $Durchlauf In $AusgeblendeteFenster
    If $Durchlauf <> $Fenster Then _ArrayAdd($NeuerArray, $Durchlauf)
    Next

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

    Dim $AusgeblendeteFenster[1]

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

    For $Durchlauf In $NeuerArray
    _ArrayAdd($AusgeblendeteFenster, $Durchlauf)
    Next

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

    Dim $NeuerArray[1]
    Else
    Dim $AusgeblendeteFenster[1]
    EndIf
    EndFunc ;==>_Anzeigen

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

    Func _AlleAnzeigen()
    For $Durchlauf In $AusgeblendeteFenster
    WinSetState($Durchlauf, "", @SW_SHOW)
    Next
    Dim $AusgeblendeteFenster[1]
    EndFunc ;==>_AlleAnzeigen

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

    Func _SpracheAndern()
    If IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0) <= 2 And IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0) <> 0 Then
    $SpracheWahlenFenster = GUICreate("WinVerstecker/FönsterGömmare", 511, 273, -1, -1)
    GUISetBkColor(0xFFFF00)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "1", "Sprache_Lang", "Fehler!") & " - " & IniRead($PfadZuSprachenINI, "1", "Sprache_SetzungsText", "Fehler!"), 8, 12, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Button2 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "2", "Sprache_Lang", "Fehler!") & " - " & IniRead($PfadZuSprachenINI, "2", "Sprache_SetzungsText", "Fehler!"), 8, 146, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    Else
    $AndereSprachen = ""

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

    For $Durchlauf = 3 To IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0)
    $AndereSprachen = $AndereSprachen & ", " & IniRead($PfadZuSprachenINI, $Durchlauf, "Sprache_Lang", "")
    Next

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

    $AndereSprachen = StringRight($AndereSprachen, StringLen($AndereSprachen) - 2)

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

    $SpracheWahlenFenster = GUICreate("WinVerstecker/FönsterGömmare/WindowHider", 511, 333, -1, -1)
    GUISetBkColor(0xFFFF00)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "1", "Sprache_Lang", "") & " - " & IniRead($PfadZuSprachenINI, "1", "Sprache_AnderungsText", ""), 8, 12, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Button2 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "2", "Sprache_Lang", "") & " - " & IniRead($PfadZuSprachenINI, "2", "Sprache_SetzungsText", ""), 8, 146, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Button3 = GUICtrlCreateButton($AndereSprachen, 8, 277, 496, 50, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    EndIf

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Sprache", 1)
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Lizens", "")

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

    GUISetState(@SW_DISABLE)
    MsgBox(262208, IniRead($PfadZuSprachenINI, "1", "WinVerstecker", ""), IniRead($PfadZuSprachenINI, "1", "Meldung_SpracheErfolgreichEingestellt", ""))
    GUIDelete()

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

    Run(@ScriptDir & "\WinVerstecker.exe lizens")

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

    Exit
    Case $Button2
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Sprache", 2)
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Lizens", "")

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

    GUISetState(@SW_DISABLE)
    MsgBox(262208, IniRead($PfadZuSprachenINI, "2", "WinVerstecker", ""), IniRead($PfadZuSprachenINI, "2", "Meldung_SpracheErfolgreichEingestellt", ""))
    GUIDelete()

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

    Run(@ScriptDir & "\WinVerstecker.exe lizens")

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

    Exit
    EndSwitch

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

    $TrayGetMsg = TrayGetMsg()
    If $TrayGetMsg = $TrayMenu_StatusAndern Or $TrayGetMsg = $TrayMenu_SpracheAndern Or $TrayGetMsg = $TrayMenu_AlleEinblenden Or $TrayGetMsg = $TrayMenu_Ende Then
    MsgBox(262160, "WinVerstecker/FönsterGömmare/WindowHider", "Diese Funktion ist zuzeit nicht zulässig!/Denna funktion inte är tillåten nu!/At the moment this function is not allowed!")
    EndIf
    WEnd
    EndFunc ;==>_SpracheAndern

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

    Func _ende()
    If UBound($AusgeblendeteFenster) = 1 Then
    Exit
    Else
    MsgBox(262160, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "Fehler_NichtAlleFensterEingeblendet-Ende", "Fehler!"))
    EndIf
    EndFunc ;==>_ende

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

    Func IsVisible($handle)
    If BitAND(WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>IsVisible

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

    Func _SpracheWahlen()
    If IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0) <= 2 And IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0) <> 0 Then
    $SpracheWahlenFenster = GUICreate("WinVerstecker/FönsterGömmare", 511, 273, -1, -1)
    GUISetBkColor(0xFFFF00)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "1", "Sprache_Lang", "Fehler!") & " - " & IniRead($PfadZuSprachenINI, "1", "Sprache_SetzungsText", "Fehler!"), 8, 12, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Button2 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "2", "Sprache_Lang", "Fehler!") & " - " & IniRead($PfadZuSprachenINI, "2", "Sprache_SetzungsText", "Fehler!"), 8, 146, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    Else
    $AndereSprachen = ""

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

    For $Durchlauf = 3 To IniRead($PfadZuSprachenINI, "Anzahl", "Anzahl", 0)
    $AndereSprachen = $AndereSprachen & ", " & IniRead($PfadZuSprachenINI, $Durchlauf, "Sprache_Lang", "")
    Next

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

    $AndereSprachen = StringRight($AndereSprachen, StringLen($AndereSprachen) - 2)

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

    $SpracheWahlenFenster = GUICreate("WinVerstecker/FönsterGömmare/WindowHider", 511, 333, -1, -1)
    GUISetBkColor(0xFFFF00)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "1", "Sprache_Lang", "") & " - " & IniRead($PfadZuSprachenINI, "1", "Sprache_SetzungsText", ""), 8, 12, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Button2 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, "2", "Sprache_Lang", "") & " - " & IniRead($PfadZuSprachenINI, "2", "Sprache_SetzungsText", ""), 8, 146, 495, 121, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Button3 = GUICtrlCreateButton($AndereSprachen, 8, 277, 496, 50, $WS_GROUP)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    EndIf

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Sprache", 1)

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

    GUISetState(@SW_DISABLE)
    MsgBox(262208, IniRead($PfadZuSprachenINI, "1", "WinVerstecker", ""), IniRead($PfadZuSprachenINI, "1", "Meldung_SpracheErfolgreichEingestellt", ""))
    GUIDelete()

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

    Run(@ScriptDir & "\WinVerstecker.exe lizens")

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

    Exit
    Case $Button2
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Sprache", 2)

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

    GUISetState(@SW_DISABLE)
    MsgBox(262208, IniRead($PfadZuSprachenINI, "2", "WinVerstecker", ""), IniRead($PfadZuSprachenINI, "2", "Meldung_SpracheErfolgreichEingestellt", ""))
    GUIDelete()

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

    Run(@ScriptDir & "\WinVerstecker.exe lizens")

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

    Exit
    EndSwitch

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

    $TrayGetMsg = TrayGetMsg()
    If $TrayGetMsg = $TrayMenu_StatusAndern Or $TrayGetMsg = $TrayMenu_SpracheAndern Or $TrayGetMsg = $TrayMenu_AlleEinblenden Or $TrayGetMsg = $TrayMenu_Ende Then
    MsgBox(262160, "WinVerstecker/FönsterGömmare/WindowHider", "Diese Funktion ist zuzeit nicht zulässig!/Denna funktion inte är tillåten nu!/At the moment this function is not allowed!")
    EndIf
    WEnd
    EndFunc ;==>_SpracheWahlen

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

    Func _Lizensieren()
    $LizensFenster = GUICreate(IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!") & " - " & IniRead($PfadZuSprachenINI, $SprachenNummer, "Lizensierung_Lizensierung", "Fehler!"), 625, 202, -1, -1, -1, BitOR($WS_EX_APPWINDOW, $WS_EX_WINDOWEDGE))
    GUISetBkColor(0xFFFF00)
    $Button1 = GUICtrlCreateButton(IniRead($PfadZuSprachenINI, $SprachenNummer, "Lizensierung_ProgrammFreischalten", "Fehler!"), 8, 8, 607, 185, $WS_GROUP)
    GUICtrlSetFont(-1, 34, 800, 0, "Arial Black")

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    IniWrite($PfadZuEinstellungenINI, "Einstellungen", "Lizens", _StringEncrypt(1, "WinVerstecker", "WinVerstecker", 2))
    Run(@ScriptDir & "\WinVerstecker.exe")
    Exit
    EndSwitch

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

    $TrayGetMsg = TrayGetMsg()
    If $TrayGetMsg = $TrayMenu_StatusAndern Or $TrayGetMsg = $TrayMenu_SpracheAndern Or $TrayGetMsg = $TrayMenu_AlleEinblenden Or $TrayGetMsg = $TrayMenu_Ende Then
    MsgBox(262160, IniRead($PfadZuSprachenINI, $SprachenNummer, "WinVerstecker", "Fehler!"), IniRead($PfadZuSprachenINI, $SprachenNummer, "Fehler_ZurzeitNichtZulässig", "Fehler!"))
    EndIf
    WEnd
    EndFunc ;==>_Lizensieren

    [/autoit]

    Magnus

  • Hallo Magnus,

    das Skript läuft bei mir einwandfrei, du solltest daher den Fehler etwas genauer beschreiben (bei welcher Aktion etc?). Der Fehler kann eigentlich nur vorkommen, wenn das zu versteckende Programm(-Fenster) nicht mehr existiert, da dann WinGetPos kein Array zurückliefert. Kleines TestSkript zu WinGetPos ohne vorhandenes Fenster

    [autoit]

    $ar= WinGetPos("IrgendEtwasWasNichtexistiert")
    ConsoleWrite($ar[0] & @CRLF)

    [/autoit]


    Kann so abgefangen werden:

    [autoit]

    $ar= WinGetPos("IrgendEtwasWasNichtexistiert")
    if IsArray($ar) then
    ConsoleWrite($ar[0] & @CRLF)
    Else
    ConsoleWrite("Keine Arraydaten!!!" & @CRLF)
    EndIf

    [/autoit]

    mfg (Auto)Bert