wVise Build:0220

  • Hai Leute !


    Ich stelle euch heute mein neues Programm vor: wVise - Window Control

    Features:

    > Beliebige Anzahl an Fenster mit einem Tastendruck verstecken / zeigen !

    > Mehrere Fenster mit gleichem Titel verstecken / zeigen

    > Sich selber (GUI) per Tastendruck verstecken

    > Liste von Fenstern die vom User bearbeitet werden kann speichern / laden

    > Auflistung von allen verfügbaren Fenstern + in Userliste hinzufügen

    > Erkennt auch Teil - Strings eines Fenstertitels


    Anleitung:

    > Programm ist per Tastendruck [ESC] schließbar !

    > Aktualisieren: Füllt die Combo Box, mit allen sichbaren Fenstern / Diese werden per klick in die Fensterliste kopiert.

    > Fensterliste: Die große weiße Box unter den 2x Buttons, hier Fenstertitel / Strings eintragen und per Zeilenschaltung trennen.

    > Einstellungen: Hotkeys können in diesem Menü konfiguriert werden, die Option: "Einen Hotkey für Verstecken / Zeigen auswählen um Fenster mit einem Tastendruck zb. F10 zu verstecken, und noch einen Tastendruck auf F10 wieder anzuzeigen.


    EXE + Script [Build:0220]:
    autoit.de/wcf/attachment/5752/

    Script:

    Spoiler anzeigen
    [autoit]


    #cs
    ##################################
    # wVise - Build:0220 #
    # #
    # > Created by mcOocr #
    ##################################
    #ce

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

    #Region
    #NoTrayIcon
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GUIComboBox.au3>
    #EndRegion
    ;==> Include

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

    #Region
    global $str1 = ""
    global $str2 = ""
    global $str3 = ""
    global $str4 = ""
    global $str5 = ""
    global $str6 = ""
    global $str7 = ""
    global $flag = 0
    global $hsflag = 0
    global $hsmeflag = 0
    opt("wintitlematchmode", -2)
    opt("guioneventmode", 1)
    #EndRegion
    ;==> Optionen

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

    #Region
    ;==> Main GUI
    $main = GUICreate("wVise - Window Control", 234, 285, 287, 175, BitOR($WS_DLGFRAME,$WS_CLIPSIBLINGS), BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    $winlist = GUICtrlCreateCombo("wVise - Build:0220 - created by mcOocr", 8, 8, 217, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    $userlist = GUICtrlCreateEdit("", 8, 64, 215, 190, BitOR($ES_WANTRETURN,$WS_HSCROLL,$WS_VSCROLL))
    $getwin = GUICtrlCreateButton("Aktualisieren", 8, 32, 105, 25, $WS_GROUP)
    $einstellungen = GUICtrlCreateButton("Einstellungen", 120, 32, 105, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    ;==> Optionen GUI
    $optform = GUICreate(" wVise Optionen", 234, 274, 229, 132, BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    $Group1 = GUICtrlCreateGroup(" Hotkeys für Fenster : ", 8, 8, 217, 97)
    $Input1 = GUICtrlCreateInput("Fenster verstecken", 16, 32, 97, 21, BitOR($ES_AUTOHSCROLL,$ES_NOHIDESEL,$ES_READONLY))
    $hotkhide = GUICtrlCreateInput("F10", 120, 32, 97, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
    $Input2 = GUICtrlCreateInput("Fenster zeigen", 16, 56, 97, 21, BitOR($ES_AUTOHSCROLL,$ES_NOHIDESEL,$ES_READONLY))
    $hotkshow = GUICtrlCreateInput("F11", 120, 56, 97, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
    $usemulti1 = GUICtrlCreateCheckbox("Einen Hotkey für Verstecken / Zeigen", 16, 80, 201, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup(" Interne Hotkeys : ", 8, 112, 217, 121)
    $Input3 = GUICtrlCreateInput("wVise verstecken", 16, 128, 97, 21, BitOR($ES_AUTOHSCROLL,$ES_NOHIDESEL,$ES_READONLY))
    $hotkhideme = GUICtrlCreateInput("F8", 120, 128, 97, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
    $hotkshowme = GUICtrlCreateInput("F9", 120, 152, 97, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
    $Input4 = GUICtrlCreateInput("wVise zeigen", 16, 152, 97, 21, BitOR($ES_AUTOHSCROLL,$ES_NOHIDESEL,$ES_READONLY))
    $usemulti2 = GUICtrlCreateCheckbox("Einen Hotkey für Verstecken / Zeigen", 16, 200, 201, 25)
    $Input5 = GUICtrlCreateInput("Liste speichern", 16, 176, 97, 21, BitOR($ES_AUTOHSCROLL,$ES_NOHIDESEL,$ES_READONLY))
    $hotksave = GUICtrlCreateInput("F12", 120, 176, 97, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $save = GUICtrlCreateButton("Einstellungen Speichern", 8, 240, 217, 25, $WS_GROUP)
    ;==> Events
    guisetonevent($GUI_EVENT_CLOSE, "closegui", $main)
    guisetonevent($GUI_EVENT_CLOSE, "hidegui", $optform)
    guictrlsetonevent($einstellungen, "showopt")
    guictrlsetonevent($getwin, "getlist")
    guictrlsetonevent($winlist, "wingetlist")
    guictrlsetonevent($save, "saveset")
    sethotkey()
    #EndRegion
    ;==> Interface

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

    #Region
    func hide()
    local $user = StringSplit(GUICtrlRead($userlist), @CRLF, 1)
    if $user[1] = "" then return ;...
    local $win = Winlist()
    for $i = 1 to $user[0]
    if $user[$i] = "" then ContinueLoop
    for $x = 1 to $win[0][0]
    if $win[$x][0] = "" Then ContinueLoop
    if stringinstr($win[$x][0], $user[$i]) then winsetstate($win[$x][1], "", @SW_HIDE)
    Next
    Next
    EndFunc

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

    func show()
    local $user = StringSplit(GUICtrlRead($userlist), @CRLF, 1)
    if $user[1] = "" then return ;...
    local $win = Winlist()
    for $i = 1 to $user[0]
    if $user[$i] = "" then ContinueLoop
    for $x = 1 to $win[0][0]
    if $win[$x][0] = "" Then ContinueLoop
    if stringinstr($win[$x][0], $user[$i]) then winsetstate($win[$x][1], "", @SW_SHOW)
    Next
    Next
    EndFunc

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

    func hideshow()
    if $hsflag = 0 then
    local $user = StringSplit(GUICtrlRead($userlist), @CRLF, 1)
    if $user[1] = "" then return ;...
    local $win = Winlist()
    for $i = 1 to $user[0]
    if $user[$i] = "" then ContinueLoop
    for $x = 1 to $win[0][0]
    if $win[$x][0] = "" Then ContinueLoop
    if stringinstr($win[$x][0], $user[$i]) then
    winsetstate($win[$x][1], "", @SW_HIDE)
    $hsflag = 1
    endif
    Next
    Next
    Elseif $hsflag = 1 Then
    local $user = StringSplit(GUICtrlRead($userlist), @CRLF, 1)
    if $user[1] = "" then return ;...
    local $win = Winlist()
    for $i = 1 to $user[0]
    if $user[$i] = "" then ContinueLoop
    for $x = 1 to $win[0][0]
    if $win[$x][0] = "" Then ContinueLoop
    if stringinstr($win[$x][0], $user[$i]) then
    winsetstate($win[$x][1], "", @SW_SHOW)
    $hsflag = 0
    endif
    Next
    Next
    EndIf
    EndFunc

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

    func hideme()
    guisetstate(@SW_HIDE, $main)
    guisetstate(@SW_HIDE, $optform)
    EndFunc

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

    func showme()
    guisetstate(@SW_SHOW, $main)
    EndFunc

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

    func hideshowme()
    if $flag = 0 then
    guisetstate(@SW_HIDE, $main)
    guisetstate(@SW_HIDE, $optform)
    $flag = 1
    Else
    guisetstate(@SW_SHOW, $main)
    $flag = 0
    EndIf
    EndFunc

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

    func sethotkey()
    fileload()
    if $str6 = "4" Then
    hotkeyset("{" & $str1 & "}", "hide")
    hotkeyset("{" & $str2 & "}", "show")
    Else
    hotkeyset("{" & $str1 & "}", "hideshow")
    EndIf
    if $str7 = "4" Then
    hotkeyset("{" & $str3 & "}", "hideme")
    hotkeyset("{" & $str4 & "}", "showme")
    Else
    hotkeyset("{" & $str3 & "}", "hideshowme")
    EndIf
    hotkeyset("{" & $str5 & "}", "saveset")
    EndFunc

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

    Func fileload()
    if fileexists("win.dll") Then
    global $str1 = iniread("win.dll", "set", "hotkhide", "Nicht gesetzt")
    global $str2 = iniread("win.dll", "set", "hotkshow", "Nicht gesetzt")
    global $str3 = iniread("win.dll", "set", "hotkhideme", "Nicht gesetzt")
    global $str4 = iniread("win.dll", "set", "hotkshowme", "Nicht gesetzt")
    global $str5 = iniread("win.dll", "set", "hotksave", "Nicht gesetzt")
    global $str6 = iniread("win.dll", "set", "usemulti1", "0")
    global $str7 = iniread("win.dll", "set", "usemulti2", "0")
    guictrlsetdata($hotkhide, $str1)
    guictrlsetdata($hotkshow, $str2)
    guictrlsetdata($hotkhideme, $str3)
    guictrlsetdata($hotkshowme, $str4)
    guictrlsetdata($hotksave, $str5)
    if $str6 <> "4" Then
    guictrlsetstyle($hotkshow, $ES_READONLY)
    guictrlsetdata($input1, "Fenster Hide/Show")
    guictrlsetstate($usemulti1, "1")
    Else
    guictrlsetstyle($hotkshow, $ES_CENTER)
    EndIf
    if $str7 <> "4" Then
    guictrlsetstyle($hotkshowme, $ES_READONLY)
    guictrlsetdata($input3, "Fenster Hide/Show")
    guictrlsetstate($usemulti2, "1")
    Else
    guictrlsetstyle($hotkshowme, $ES_CENTER)
    EndIf
    EndIf
    if fileexists("win.txt") Then
    $ha = fileopen("win.txt", 0)
    $pu = fileread($ha)
    guictrlsetdata($userlist, $pu)
    fileclose($ha)
    EndIf
    EndFunc

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

    func saveset()
    $strt1 = guictrlread($hotkhide)
    $strt2 = guictrlread($hotkshow)
    $strt3 = guictrlread($hotkhideme)
    $strt4 = guictrlread($hotkshowme)
    $strt5 = guictrlread($hotksave)
    $strt6 = guictrlread($usemulti1)
    $strt7 = guictrlread($usemulti2)
    iniwrite("win.dll", "set", "hotkhide", $strt1)
    iniwrite("win.dll", "set", "hotkshow", $strt2)
    iniwrite("win.dll", "set", "hotkhideme", $strt3)
    iniwrite("win.dll", "set", "hotkshowme", $strt4)
    iniwrite("win.dll", "set", "hotksave", $strt5)
    iniwrite("win.dll", "set", "usemulti1", $strt6)
    iniwrite("win.dll", "set", "usemulti2", $strt7)
    $strlist = guictrlread($userlist)
    $hn = fileopen("win.txt", 2)
    filewrite($hn, $strlist)
    fileclose($hn)
    hidegui()
    sethotkey()
    EndFunc

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

    func wingetlist()
    $str = ""
    $tx = guictrlread($userlist)
    $sel = _GUICtrlComboBox_GetCurSel($winlist)
    _GUICtrlComboBox_GetLBText($winlist, $sel, $str)
    if $tx = "" then
    GUICtrlSetData($userlist, $str)
    Else
    GUICtrlSetData($userlist, $tx & @CRLF & $str)
    EndIf
    EndFunc

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

    func showopt()
    fileload()
    guisetstate(@SW_SHOW, $optform)
    EndFunc

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

    func closegui()
    Exit
    EndFunc

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

    func hidegui()
    guisetstate(@SW_HIDE, $optform)
    EndFunc

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

    Func getlist()
    guictrlsetdata($winlist, "")
    $w = WinList()
    for $i = 1 to $w[0][0]
    if $w[$i][0] <> "" and vis($w[$i][1]) Then
    if $w[$i][0] = "Start" then
    ;...
    ElseIf $w[$i][0] = "Program Manager" Then
    ;...
    Elseif $w[$i][0] = "wVise - Window Control" Then
    ;...
    Else
    guictrlsetdata($winlist, $w[$i][0])
    EndIf
    EndIf
    Next
    EndFunc

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

    Func vis($handle)
    if bitand(WinGetState($handle), 2) Then
    return 1
    Else
    return 0
    EndIf
    EndFunc
    #EndRegion
    ;==> Funktionen

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

    #Region
    While 1
    sleep(10)
    WEnd
    #EndRegion
    ;==> Loop

    [/autoit]

    Feedback + Bugreport's erwünscht :D

    PS: Danke an Oscar für die Array Funktion !


    Greez mcOocr

    5 Mal editiert, zuletzt von mcoocr (13. August 2009 um 21:36)

  • Das ist wirklich gelungen 8o
    Nur das Fenster würde ich etwas größer machen :D Aber die Betonung liegt auf "ICH" ^^
    Ne wirklich super :thumbup:

    [autoit]


    While $Life = True
    $nMSG = BrainGetMsg()
    Switch $nMSG
    Case $Idea
    _Convert_Idea2Code()
    EndSwitch
    WEnd

    [/autoit]