Fenster Verstecker

  • Hio,

    Ich hatte mal wieder langeweile und da ich ja noch Schüler bin dachte ich mir könnte ein "Fenster Verstecker" ganz sinvoll sein, denn Mit meinen Tool kann man jegliches Fenster(also auch Programme) Minimieren, WIederherstellen, Verstecken und WIederanzeigen so das der Lehrer davon nix mit bekommt =)

    Bugs:
    - ...

    Hier die Source

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <Process.au3>
    #include <GuiListView.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.3.0.0
    Author: DrîzzIt / Thomas Schmidt

    Script Function:
    Mit diesen Programm kann man jegliches Fenster Minimieren,Wiederherstellen,Verstecken und Anzeigen

    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    Global $Key1, $Key2, $Key3, $Key4

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

    Opt("TrayIconHide", 1)

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

    GUICreate("Fenster Menü's", 300, 240)
    GUISetBkColor(0x00FF80)
    $settings = GUICtrlCreateMenu("Datei")
    $laden = GUICtrlCreateMenuItem("Laden", $settings)
    $save = GUICtrlCreateMenuItem("Speichern", $settings)
    $settings1 = GUICtrlCreateMenu("Keys Aktivieren")
    $aktiv = GUICtrlCreateMenuItem("Keys Aktivieren", $settings1)
    $deaktiv = GUICtrlCreateMenuItem("Keys Deaktivieren", $settings1)
    $settings2 = GUICtrlCreateMenu("Wichtig")
    $info = GUICtrlCreateMenuItem("Infos zu den Key's", $settings2)
    ;Tab
    GUICtrlCreateTab(10, 200, 282)
    ; Keys Tab
    GUICtrlCreateTabItem("Keys")
    GUICtrlCreateLabel("Key für MINIMIEREN äuswählen", 30, 30)
    $Min = GUICtrlCreateInput("Key", 200, 28, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für MAXIMIEREN äuswählen", 30, 60)
    $Max = GUICtrlCreateInput("Key", 200, 58, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für VERSTECKEN äuswählen", 30, 90)
    $Hide = GUICtrlCreateInput("Key", 200, 88, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für ANZEIGEN äuswählen", 30, 120)
    $Show = GUICtrlCreateInput("Key", 200, 118, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Name des Fensters ?!", 100, 150)
    $Name = GUICtrlCreateInput("Den korrekten Fenster-Titel hier eingeben !!!", 30, 168, 240, 20, $ES_CENTER)
    GUICtrlCreateGroup("Keys/Tasten der Einzelnen Funktionen für 1 Fenster", 15, 5, 270, 190)
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    ; Aktuelle Fenster Tab
    GUICtrlCreateTabItem("Aktuelle Fenster")
    $ListView = GUICtrlCreateListView("", 0, 0, 300, 200)
    Global $contextmenu1 = GUICtrlCreateContextMenu($ListView)
    $item = GUICtrlCreateMenuItem("Fenster Verstecken", $contextmenu1)
    $item2 = GUICtrlCreateMenuItem("Fenster Verkleinern", $contextmenu1)
    $item3 = GUICtrlCreateMenuItem("Fenster Wiederherstellen", $contextmenu1)
    $hListViewAnw = GUICtrlGetHandle($ListView)
    _GUICtrlListView_AddColumn($hListViewAnw, "Fenstertitel", 200)
    _GUICtrlListView_AddColumn($hListViewAnw, "Exe", 100)
    _GUICtrlListView_AddColumn($hListViewAnw, "State", 60)
    ;
    _GetFenster()
    ;
    ;Aktuelle V. Fenster
    GUICtrlCreateTabItem("Aktuelle Versteckte Fenster")
    $ListView2 = GUICtrlCreateListView("", 0, 0, 300, 200)
    $contextmenu2 = GUICtrlCreateContextMenu($ListView2)
    $item4 = GUICtrlCreateMenuItem("Fenster Anzeigen", $contextmenu2)
    $hListViewAnw2 = GUICtrlGetHandle($ListView2)
    _GUICtrlListView_AddColumn($hListViewAnw2, "Fenstertitel", 300)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    _Save()
    Case $laden
    _load()
    Case $item
    _Verstecken()
    Case $item2
    _Verkleinern()
    Case $item3
    _Wiederherstellen()
    Case $item4
    _Anzeigen()
    Case $aktiv
    _HotKeySet()
    Case $deaktiv
    _DeAktivHotKeySet()
    Case $info
    MsgBox(0, "Key Infos", "Die Strg,Windows,Alt+Gr,Shift und Alt Tasten können nicht verwenden werden" & (@CRLF) & "Wenn Sie mehrere Keys gleichzeitig drücken wollen, müssen Sie es so angeben siehe Beispiel" & (@CRLF) & "z.B. AP(Für A und P drücken) oder AH(Für A und H drücken), wenn Sie die F-Tasten haben wollen einfach F1 schreiben" & (@CRLF) & "" & (@CRLF) & "Sobald Sie ein Fenster durch ein Key Verstecken wird das Fenster(Fenster Menü's) auch verteckt!" & (@CRLF) & 'Wenn Sie das Fenster (Fenster Menü´s) nicht verstecken wollen wählen Sie es dann ein Fenster aus der "Àktuelle Fenster" liste aus')
    EndSwitch
    WEnd

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

    ;######################### Funcs ##############################
    ;################ Keys für einzelnes Fenster ##################
    ;_Mini = Fenster Minimieren
    ;_Display = Fenster Wiederherstellen
    ;_Hide = Fenster Verstecken
    ;_Show = Fesnter Anzeigen
    ;################ Aktuelle Fensterliste #######################
    ;_Verstecken = Fenster Verstecken
    ;_Anzeigen = Fenster Anzeigen
    ;_Verkleinern = Fenster minimieren
    ;_Wiederherstellen = Fenster was minimiert ist Wiederherstellen
    ;##############################################################

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

    Func _Save()
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", GUICtrlRead($Min))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", GUICtrlRead($Max))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", GUICtrlRead($Hide))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", GUICtrlRead($Show))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", GUICtrlRead($Name))
    $settings1 = GUICtrlRead($deaktiv)
    If $settings1 = 68 Then IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Key's", "Status", "aktiv")
    If $settings1 = 132 Then IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Key's", "Status", "inaktiv")
    EndFunc ;==>_Save

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

    Func _load()
    GUICtrlSetData($Min, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error"))
    GUICtrlSetData($Max, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", "error"))
    GUICtrlSetData($Hide, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", "error"))
    GUICtrlSetData($Show, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", "error"))
    GUICtrlSetData($Name, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error"))
    $ReadKey = IniRead(@ScriptDir & "Fenster Menü's.ini", "Key's", "Status", "Nicht vorhanden")
    If $ReadKey = "aktiv" Then
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    EndIf
    EndFunc ;==>_load

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

    Func _HotKeySet()
    $Key1 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error")
    $Key2 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", "error")
    $Key3 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", "error")
    $Key4 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", "error")
    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")
    $HotKey2 = HotKeySet("{" & $Key2 & "}", "_Display")
    $HotKey3 = HotKeySet("{" & $Key3 & "}", "_Hide")
    $HotKey4 = HotKeySet("{" & $Key4 & "}", "_Show")
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    EndFunc ;==>_HotKeySet

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

    Func _DeAktivHotKeySet()
    $HotKey1 = HotKeySet("{" & $Key1 & "}")
    $HotKey2 = HotKeySet("{" & $Key2 & "}")
    $HotKey3 = HotKeySet("{" & $Key3 & "}")
    $HotKey4 = HotKeySet("{" & $Key4 & "}")
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    GUICtrlSetState($aktiv, $GUI_ENABLE)
    EndFunc ;==>_DeAktivHotKeySet

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

    Func _GetFenster()
    _GUICtrlListView_DeleteAllItems($hListViewAnw)
    Local $PID, $Prozessname, $WinHandle
    $Title = WinList()
    For $i = 1 To $Title[0][0]
    If $Title[$i][0] <> "" And IsVisible($Title[$i][1]) Then
    _GUICtrlListView_AddItem($hListViewAnw, $Title[$i][0], _GUICtrlListView_GetItemCount($hListViewAnw) + 999)
    $PID = WinGetProcess($Title[$i][1])
    $Prozessname = _ProcessGetName($PID)
    $state = WinGetState($Title[$i][0])
    If $state = "7" Then $state = "aktiv"
    If $state = "15" Or $state = "23" Then $state = "minimiert"
    If $state = "1" Or $state = "5" Or $state = "47" Then $state = "existiert"
    _GUICtrlListView_AddSubItem($hListViewAnw, _GUICtrlListView_GetItemCount($hListViewAnw) - 1, $Prozessname, 1)
    _GUICtrlListView_AddSubItem($hListViewAnw, _GUICtrlListView_GetItemCount($hListViewAnw) - 1, $state, 2)
    EndIf
    Next
    EndFunc ;==>_GetFenster

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

    Func _Mini()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_MINIMIZE)
    WinSetState("Fenster Menü's", "", @SW_MINIMIZE)
    EndFunc ;==>_Mini

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

    Func _Display()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_RESTORE)
    WinSetState("Fenster Menü's", "", @SW_RESTORE)
    EndFunc ;==>_Display

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

    Func _Hide()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_HIDE)
    WinSetState("Fenster Menü's", "", @SW_HIDE)

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

    EndFunc ;==>_Hide

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

    Func _Show()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_SHOW)
    WinSetState("Fenster Menü's", "", @SW_SHOW)
    EndFunc ;==>_Show

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

    Func _Verstecken()
    $Test = _GuiCtrlListView_GetFirstSelected($hListViewAnw)
    If @error Then Return
    $test2 = _GUICtrlListView_GetItemText($hListViewAnw, $Test, 0)
    If _GUICtrlListView_FindText($hListViewAnw2, $test2) = -1 Then
    If WinSetState($test2, "", @SW_HIDE) Then _GUICtrlListView_AddItem($hListViewAnw2, $test2)
    EndIf
    EndFunc ;==>_Verstecken

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

    Func _Anzeigen()
    $Test = _GuiCtrlListView_GetFirstSelected($hListViewAnw)
    If @error Then Return
    $test2 = _GUICtrlListView_GetItemText($hListViewAnw2, $Test, 0)
    If WinSetState($test2, "", @SW_SHOW) Then _GUICtrlListView_DeleteItemsSelected($hListViewAnw2)
    EndFunc ;==>_Anzeigen

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

    Func _Verkleinern()
    $Test = _GuiCtrlListView_GetFirstSelected($hListViewAnw)
    $test2 = _GUICtrlListView_GetItemText($hListViewAnw, $Test, 0)
    If @error Then Return
    If Not WinGetState($test2) = @SW_HIDE Then WinSetState($test2, "", @SW_MINIMIZE)
    EndFunc ;==>_Verkleinern

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

    Func _Wiederherstellen()
    $Test = _GuiCtrlListView_GetFirstSelected($hListViewAnw)
    $test2 = _GUICtrlListView_GetItemText($hListViewAnw, $Test, 0)
    If @error Then Return
    If Not WinGetState($test2) = @SW_HIDE Then WinSetState($test2, "", @SW_RESTORE)
    EndFunc ;==>_Wiederherstellen

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

    ;############################# Von Raupi ##############################
    Func _GuiCtrlListView_GetFirstSelected($hWnd)
    Global $SelectedItemi
    $SelectedItemi = _GUICtrlListView_GetSelectedIndices($hWnd, True)
    If $SelectedItemi[0] = 0 Then Return SetError(1)
    Return $SelectedItemi[1]
    EndFunc ;==>_GuiCtrlListView_GetFirstSelected
    ;####################################################################

    [/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 _Nichts()
    Sleep(100)
    EndFunc ;==>_Nichts

    [/autoit]

    Hier der Download

    5 Mal editiert, zuletzt von ScripterDrîzzt (27. August 2009 um 19:07)

  • So eine Neue Version des "Fenster Verstecker" is draußen s. #1 Post
    nun sieht kann alle offene Fenster in einer Liste sehen(Hier bei THX an Raupi für die Idee )
    In der Nexten version kann man dann über die liste die Fenster verstecken =)

    • Offizieller Beitrag

    Deine neue Version funzt aber nicht. Es nutz eigentlich nix einfach nur einen Teilcode aus meienm Taskmanager zu nehmen und ihn in dein Script zu kopieren.
    Alles viel zu kompliziert für dich. ;)

  • in de rjetzigen hochgeladen Version soll er doch nur alle aktuellen fenster anzeigen und bei mir ging das zu 100% ^^
    und zu dem mit dem Task Manager da haste recht das echt ziemlich hoch für mich ^^ , aber Probieren geht über studieren^^

    • Offizieller Beitrag

    _GUICtrlListView_RegisterSortCallBack brauchst du überhaupt nicht, ganz im gegenteil. Da du _GUICtrlListView_UnRegisterSortCallBack nicht aufrufst, kannst du dein System auch ins Datennirvana schicken. ;)

  • wenn ich den Befehl rauslassen würde funst mein script nicht mehr ....
    deswegen is er drin obwohl er ja eig sinlos is wie du es eben schon gesagt hast

    • Offizieller Beitrag

    Es läuft auch ohne.

    Spoiler anzeigen
    [autoit]

    #include <Process.au3>
    #include <GuiListView.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: DrîzzIt / Thomas Schmidt

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

    Script Function:
    Mit diesen Programm kann man jegliches Fenster Minimieren,Wiederherstellen,Verstecken und Anzeigen

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

    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    Global $Key1, $Key2, $Key3, $Key4

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

    Opt("TrayIconHide", 1)

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

    GUICreate("Fenster Menü's", 300, 240)
    GUISetBkColor(0x0FF80)
    $settings = GUICtrlCreateMenu("Datei")
    $laden = GUICtrlCreateMenuItem("Laden", $settings)
    $save = GUICtrlCreateMenuItem("Speichern", $settings)
    $settings1 = GUICtrlCreateMenu("Keys Aktivieren")
    $aktiv = GUICtrlCreateMenuItem("Keys Aktivieren", $settings1)
    $deaktiv = GUICtrlCreateMenuItem("Keys Deaktivieren", $settings1)
    $settings2 = GUICtrlCreateMenu("Wichtig")
    $info = GUICtrlCreateMenuItem("Infos zu den Key's", $settings2)
    ;Tab
    GUICtrlCreateTab(0, 200, 300)
    ; Keys Tab
    GUICtrlCreateTabItem("Keys")
    GUICtrlCreateLabel("Key für MINIMIEREN äuswählen", 30, 30)
    $Min = GUICtrlCreateInput("Key", 200, 28, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für MAXIMIEREN äuswählen", 30, 60)
    $Max = GUICtrlCreateInput("Key", 200, 58, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für VERSTECKEN äuswählen", 30, 90)
    $Hide = GUICtrlCreateInput("Key", 200, 88, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für ANZEIGEN äuswählen", 30, 120)
    $Show = GUICtrlCreateInput("Key", 200, 118, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Name des Fensters ?!", 100, 150)
    $Name = GUICtrlCreateInput("Den korrekten Fenster-Titel hier eingeben !!!", 30, 168, 240, 20, $ES_CENTER)
    GUICtrlCreateGroup("Keys/Tasten der Einzelnen Funktionen", 15, 5, 270, 190)
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    ; Aktuelle Fenster Tab
    GUICtrlCreateTabItem("Aktuelle Fenster")
    $ListView = GUICtrlCreateListView("", 0, 0, 300, 200)
    $contextmenu1 = GUICtrlCreateContextMenu($ListView)
    $item = GUICtrlCreateMenuItem("Fenster Verstecken", $contextmenu1)
    $hListViewAnw = GUICtrlGetHandle($ListView)
    _GUICtrlListView_AddColumn($hListViewAnw, "Fenstertitel", 200)
    _GUICtrlListView_AddColumn($hListViewAnw, "Exe", 100)
    ;~ _GUICtrlListView_RegisterSortCallBack($hListViewAnw, -1, True)
    _GetFenster()
    ;~ _GUICtrlListView_SortItems($hListViewAnw, 0)
    ;Aktuelle V. Fenster
    GUICtrlCreateTabItem("Aktuelle Versteckte Fenster")
    $ListView2 = GUICtrlCreateListView("", 0, 0, 300, 200)
    $contextmenu2 = GUICtrlCreateContextMenu($ListView2)
    $item2 = GUICtrlCreateMenuItem("Fenster Anzeigen", $contextmenu2)
    $hListViewAnw2 = GUICtrlGetHandle($ListView2)
    _GUICtrlListView_AddColumn($hListViewAnw2, "Fenstertitel", 200)
    _GUICtrlListView_AddColumn($hListViewAnw2, "Exe", 100)
    ;~ _GUICtrlListView_RegisterSortCallBack($hListViewAnw2, -1, True)
    ;~ _GUICtrlListView_SortItems($hListViewAnw2, 0)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    _Save()
    Case $laden
    _load()
    Case $aktiv
    _HotKeySet()
    Case $deaktiv
    _DeAktivHotKeySet()
    Case $info
    MsgBox(0, "Key Infos", "Die Strg,Windows,Alt+Gr,Shift und Alt Tasten können nicht verwenden werden" & (@CRLF) & "Wenn Sie mehrere Keys gleichzeitig drücken wollen, müssen Sie es so angeben siehe Beispiel" & (@CRLF) & "z.B. AP(Für A und P drücken) oder AH(Für A und H drücken), wenn Sie die F-Tasten haben wollen einfach F1 schreiben")
    EndSwitch
    WEnd

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

    Func _Save()
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", GUICtrlRead($Min))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", GUICtrlRead($Max))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", GUICtrlRead($Hide))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", GUICtrlRead($Show))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", GUICtrlRead($Name))
    $settings1 = GUICtrlRead($deaktiv)
    If $settings1 = 68 Then IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Key's", "Status", "aktiv")
    If $settings1 = 132 Then IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Key's", "Status", "inaktiv")
    EndFunc ;==>_Save

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

    Func _load()
    GUICtrlSetData($Min, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error"))
    GUICtrlSetData($Max, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", "error"))
    GUICtrlSetData($Hide, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", "error"))
    GUICtrlSetData($Show, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", "error"))
    GUICtrlSetData($Name, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error"))
    $ReadKey = IniRead(@ScriptDir & "Fenster Menü's.ini", "Key's", "Status", "Nicht vorhanden")
    If $ReadKey = "aktiv" Then
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    EndIf
    EndFunc ;==>_load

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

    Func _HotKeySet()
    $Key1 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error")
    $Key2 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", "error")
    $Key3 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", "error")
    $Key4 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", "error")
    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")
    $HotKey2 = HotKeySet("{" & $Key2 & "}", "_Maxi")
    $HotKey3 = HotKeySet("{" & $Key3 & "}", "_Hide")
    $HotKey4 = HotKeySet("{" & $Key4 & "}", "_Show")
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    EndFunc ;==>_HotKeySet

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

    Func _DeAktivHotKeySet()
    $HotKey1 = HotKeySet("{" & $Key1 & "}")
    $HotKey2 = HotKeySet("{" & $Key2 & "}")
    $HotKey3 = HotKeySet("{" & $Key3 & "}")
    $HotKey4 = HotKeySet("{" & $Key4 & "}")
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    GUICtrlSetState($aktiv, $GUI_ENABLE)
    EndFunc ;==>_DeAktivHotKeySet

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

    Func _GetFenster()
    Local $PID, $Prozessname, $WinHandle
    $Title = WinList()
    For $i = 1 To $Title[0][0]
    If $Title[$i][0] <> "" And IsVisible($Title[$i][1]) Then
    _GUICtrlListView_AddItem($hListViewAnw, $Title[$i][0], _GUICtrlListView_GetItemCount($hListViewAnw) + 999)
    $PID = WinGetProcess($Title[$i][1])
    $Prozessname = _ProcessGetName($PID)
    _GUICtrlListView_AddSubItem($hListViewAnw, _GUICtrlListView_GetItemCount($hListViewAnw) - 1, $Prozessname, 1)
    EndIf
    Next
    EndFunc ;==>_GetFenster

    [/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 _Mini()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_MINIMIZE)
    WinSetState("Fenster Menü's", "", @SW_MINIMIZE)
    EndFunc ;==>_Mini

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

    Func _Maxi()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_RESTORE)
    WinSetState("Fenster Menü's", "", @SW_RESTORE)
    EndFunc ;==>_Maxi

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

    Func _Hide()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_HIDE)
    WinSetState("Fenster Menü's", "", @SW_HIDE)

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

    EndFunc ;==>_Hide

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

    Func _Show()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_SHOW)
    WinSetState("Fenster Menü's", "", @SW_SHOW)
    EndFunc ;==>_Show

    [/autoit]
  • @scripter ich hab hier was für dich
    wenn du im ersten listview auf verstecken gehst wird es ins 2 gestellt
    und wenn du dort wieder auf anzeigen gehst ist es wieder sichtbar

    Spoiler anzeigen
    [autoit]


    #include <Process.au3>
    #include <GuiListView.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: DrîzzIt / Thomas Schmidt

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

    Script Function:
    Mit diesen Programm kann man jegliches Fenster Minimieren,Wiederherstellen,Verstecken und Anzeigen

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

    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    Global $Key1, $Key2, $Key3, $Key4

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

    Opt("TrayIconHide", 1)

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

    GUICreate("Fenster Menü's", 300, 240)
    GUISetBkColor(0x0FF80)
    $settings = GUICtrlCreateMenu("Datei")
    $laden = GUICtrlCreateMenuItem("Laden", $settings)
    $save = GUICtrlCreateMenuItem("Speichern", $settings)
    $settings1 = GUICtrlCreateMenu("Keys Aktivieren")
    $aktiv = GUICtrlCreateMenuItem("Keys Aktivieren", $settings1)
    $deaktiv = GUICtrlCreateMenuItem("Keys Deaktivieren", $settings1)
    $settings2 = GUICtrlCreateMenu("Wichtig")
    $info = GUICtrlCreateMenuItem("Infos zu den Key's", $settings2)
    ;Tab
    GUICtrlCreateTab(0, 200, 300)
    ; Keys Tab
    GUICtrlCreateTabItem("Keys")
    GUICtrlCreateLabel("Key für MINIMIEREN äuswählen", 30, 30)
    $Min = GUICtrlCreateInput("Key", 200, 28, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für MAXIMIEREN äuswählen", 30, 60)
    $Max = GUICtrlCreateInput("Key", 200, 58, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für VERSTECKEN äuswählen", 30, 90)
    $Hide = GUICtrlCreateInput("Key", 200, 88, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Key für ANZEIGEN äuswählen", 30, 120)
    $Show = GUICtrlCreateInput("Key", 200, 118, 70, 20, $ES_CENTER)
    GUICtrlCreateLabel("Name des Fensters ?!", 100, 150)
    $Name = GUICtrlCreateInput("Den korrekten Fenster-Titel hier eingeben !!!", 30, 168, 240, 20, $ES_CENTER)
    GUICtrlCreateGroup("Keys/Tasten der Einzelnen Funktionen", 15, 5, 270, 190)
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    ; Aktuelle Fenster Tab
    GUICtrlCreateTabItem("Aktuelle Fenster")
    $ListView = GUICtrlCreateListView("", 0, 0, 300, 200)
    $contextmenu1 = GUICtrlCreateContextMenu($ListView)
    $item = GUICtrlCreateMenuItem("Fenster Verstecken", $contextmenu1)
    $hListViewAnw = GUICtrlGetHandle($ListView)
    _GUICtrlListView_AddColumn($hListViewAnw, "Fenstertitel", 200)
    _GUICtrlListView_AddColumn($hListViewAnw, "Exe", 80)
    _GUICtrlListView_AddColumn($hListViewAnw, "State", 100)
    _GUICtrlListView_RegisterSortCallBack($hListViewAnw, -1, True)
    _GetFenster()
    _GUICtrlListView_SortItems($hListViewAnw, 0)
    ;Aktuelle V. Fenster
    GUICtrlCreateTabItem("Aktuelle Versteckte Fenster")
    $ListView2 = GUICtrlCreateListView("", 0, 0, 300, 200)
    $contextmenu2 = GUICtrlCreateContextMenu($ListView2)
    $item2 = GUICtrlCreateMenuItem("Fenster Anzeigen", $contextmenu2)
    $hListViewAnw2 = GUICtrlGetHandle($ListView2)
    _GUICtrlListView_AddColumn($hListViewAnw2, "Fenstertitel", 200)
    _GUICtrlListView_AddColumn($hListViewAnw2, "Exe", 100)
    _GUICtrlListView_RegisterSortCallBack($hListViewAnw2, -1, True)
    _GUICtrlListView_SortItems($hListViewAnw2, 0)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    _Save()
    Case $laden
    _load()
    Case $aktiv
    _HotKeySet()
    Case $deaktiv
    _DeAktivHotKeySet()
    Case $info
    MsgBox(0, "Key Infos", "Die Strg,Windows,Alt+Gr,Shift und Alt Tasten können nicht verwenden werden" & (@CRLF) & "Wenn Sie mehrere Keys gleichzeitig drücken wollen, müssen Sie es so angeben siehe Beispiel" & (@CRLF) & "z.B. AP(Für A und P drücken) oder AH(Für A und H drücken), wenn Sie die F-Tasten haben wollen einfach F1 schreiben")
    case $item
    $selected= _GuiCtrlListView_GetFirstSelected($listview)
    $wintohide = _GUICtrlListView_GetItemText($ListView, $Selected, 0)
    _GUICtrlListView_AddItem($listview2,$wintohide)
    winsetstate($wintohide,"",@SW_HIDE)
    case $item2
    $selected= _GuiCtrlListView_GetFirstSelected($listview2)
    $wintohide = _GUICtrlListView_GetItemText($ListView2, $Selected, 0)
    winsetstate($wintohide,"",@SW_show)
    _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($ListView2) )
    EndSwitch
    WEnd

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

    Func _Save()
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", GUICtrlRead($Min))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", GUICtrlRead($Max))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", GUICtrlRead($Hide))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", GUICtrlRead($Show))
    IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", GUICtrlRead($Name))
    $settings1 = GUICtrlRead($deaktiv)
    If $settings1 = 68 Then IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Key's", "Status", "aktiv")
    If $settings1 = 132 Then IniWrite(@ScriptDir & "\Fenster Menü's.ini", "Key's", "Status", "inaktiv")
    EndFunc ;==>_Save

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

    Func _load()
    GUICtrlSetData($Min, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error"))
    GUICtrlSetData($Max, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", "error"))
    GUICtrlSetData($Hide, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", "error"))
    GUICtrlSetData($Show, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", "error"))
    GUICtrlSetData($Name, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error"))
    $ReadKey = IniRead(@ScriptDir & "Fenster Menü's.ini", "Key's", "Status", "Nicht vorhanden")
    If $ReadKey = "aktiv" Then
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    EndIf
    EndFunc ;==>_load

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

    Func _HotKeySet()
    $Key1 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error")
    $Key2 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Maximieren", "Key", "error")
    $Key3 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Verstecken", "Key", "error")
    $Key4 = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Anzeigen", "Key", "error")
    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")
    $HotKey2 = HotKeySet("{" & $Key2 & "}", "_Maxi")
    $HotKey3 = HotKeySet("{" & $Key3 & "}", "_Hide")
    $HotKey4 = HotKeySet("{" & $Key4 & "}", "_Show")
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    EndFunc ;==>_HotKeySet

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

    Func _DeAktivHotKeySet()
    $HotKey1 = HotKeySet("{" & $Key1 & "}")
    $HotKey2 = HotKeySet("{" & $Key2 & "}")
    $HotKey3 = HotKeySet("{" & $Key3 & "}")
    $HotKey4 = HotKeySet("{" & $Key4 & "}")
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    GUICtrlSetState($aktiv, $GUI_ENABLE)
    EndFunc ;==>_DeAktivHotKeySet

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

    Func _GetFenster()
    Local $PID, $Prozessname, $WinHandle
    $Title = WinList()
    For $i = 1 To $Title[0][0]
    If $Title[$i][0] <> "" And IsVisible($Title[$i][1]) Then
    _GUICtrlListView_AddItem($hListViewAnw, $Title[$i][0], _GUICtrlListView_GetItemCount($hListViewAnw) + 999)
    $PID = WinGetProcess($Title[$i][1])
    $Prozessname = _ProcessGetName($PID)
    $state=wingetstate($Title[$i][0])
    If $state = "7" Then $state = "aktiv" ;in der hilfe zb steht das 8 minimiert wäre doch bei mri is es 7??
    if $state = "15" then $state = "minimiert" ;in der hilfe zb steht das 16 minimiert wäre doch bei mri is es 15??
    if $state = "1" then $state = "existiert" ;das hier stimmt soweit
    _GUICtrlListView_AddSubItem($hListViewAnw, _GUICtrlListView_GetItemCount($hListViewAnw) - 1, $Prozessname, 1)
    _GUICtrlListView_AddSubItem($hListViewAnw, _GUICtrlListView_GetItemCount($hListViewAnw) - 1, $state, 2)
    EndIf
    Next
    EndFunc ;==>_GetFenster

    [/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 _Mini()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_MINIMIZE)
    WinSetState("Fenster Menü's", "", @SW_MINIMIZE)
    EndFunc ;==>_Mini

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

    Func _Maxi()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_RESTORE)
    WinSetState("Fenster Menü's", "", @SW_RESTORE)
    EndFunc ;==>_Maxi

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

    Func _Hide()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_HIDE)
    WinSetState("Fenster Menü's", "", @SW_HIDE)

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

    EndFunc ;==>_Hide

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

    Func _Show()
    $FesnterN = IniRead(@ScriptDir & "\Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_SHOW)
    WinSetState("Fenster Menü's", "", @SW_SHOW)
    EndFunc ;==>_Show

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

    Func _GuiCtrlListView_GetFirstSelected($hWnd)
    Global $SelectedItemi
    $SelectedItemi = _GUICtrlListView_GetSelectedIndices($hWnd, True)
    If $SelectedItemi[0] = 0 Then Return SetError(1)
    Return $SelectedItemi[1]
    EndFunc ;==>_GuiCtrlListView_GetFirstSelected

    [/autoit]

    Edit BugFix: Tags gesetzt

    2 Mal editiert, zuletzt von Sithlord95 (24. August 2009 um 13:40)

    • Offizieller Beitrag

    Sag mal Sith, gehen deine Autoit Tag´s immer noch nicht?

    • Offizieller Beitrag

    Schick mal eien PN an peethebee oder Gun-Food. Die können sicher bei den Fehler was machen.

  • So nun müssten Wirklich alle Bugs behoben sein
    und Thx an alle die sie mir reporttet haben =)

    • Offizieller Beitrag

    @tuttifrutti was hindert dich daran, die Farben umzuändern? ;)