WinSetState Titel aus Inputbox

    • Offizieller Beitrag

    Ja, das geht auch! So ist jetzt die Schreibweise egal:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt("WinTitleMatchMode", -2)

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

    $GUI = GUICreate("Form1", 225, 225)
    $Edit = GUICtrlCreateEdit("", 10, 10)
    $Verstecken = GUICtrlCreateButton("Verstecken", 50, 200)
    $Anzeigen = GUICtrlCreateButton("Anzeigen", 125, 200)
    GUISetState(@SW_SHOW)
    WinSetOnTop($GUI, "", 1)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Anzeigen
    _WindowState(@SW_SHOW)
    Case $Verstecken
    _WindowState(@SW_HIDE)
    EndSwitch
    WEnd

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

    Func _WindowState($sState)
    Local $aWinList = StringSplit(GUICtrlRead($Edit), @CRLF, 1)
    If @error Then Return MsgBox(64, "Fehler", "Bitte etwas eingeben.")
    For $i = 1 To $aWinList[0]
    If $aWinList[$i] = "" Then ContinueLoop
    WinSetState($aWinList[$i], "", $sState)
    Next
    EndFunc ;==>_WindowState

    [/autoit]

    P.S.: Und das Fenster ist jetzt immer im Vordergrund. :)

  • Hallo,

    Ich gibt noch ein kleines Problem: ^^

    Beim letzten Script von Oscar muss man mindestens 2x Zeilen in dem Eingabefeld haben also zB.:

    Internet Explorer
    (Hier irgendwas...)

    Wie kann man das auf eine ausschalten?
    Ich denke der Fehler wird durch den StringSplit erzeugt. xD

    Oder ist es möglich in die erste zeile zu sperren, readonly,... und gleich bei der zweiten weiter zu schreiben? :rolleyes:

    Greez mcOOcr

    • Offizieller Beitrag

    Ok, war noch ein kleiner "Schönheitsfehler". So geht's:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt("WinTitleMatchMode", -2)

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

    $GUI = GUICreate("Form1", 225, 225)
    $Edit = GUICtrlCreateEdit("", 10, 10)
    $Verstecken = GUICtrlCreateButton("Verstecken", 50, 200)
    $Anzeigen = GUICtrlCreateButton("Anzeigen", 125, 200)
    GUISetState(@SW_SHOW)
    WinSetOnTop($GUI, "", 1)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Anzeigen
    _WindowState(@SW_SHOW)
    Case $Verstecken
    _WindowState(@SW_HIDE)
    EndSwitch
    WEnd

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

    Func _WindowState($sState)
    Local $aWinList = StringSplit(GUICtrlRead($Edit), @CRLF, 1)
    If $aWinList[1] = "" Then Return MsgBox(262144+64, "Fehler", "Bitte etwas eingeben.")
    For $i = 1 To $aWinList[0]
    If $aWinList[$i] = "" Then ContinueLoop
    WinSetState($aWinList[$i], "", $sState)
    Next
    EndFunc ;==>_WindowState

    [/autoit]
    • Offizieller Beitrag

    Damit auch alle Fenster mit dem eingegebenen Titel geschlossen werden:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt("WinTitleMatchMode", -2)

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

    $GUI = GUICreate("Form1", 225, 225)
    $Edit = GUICtrlCreateEdit("", 10, 10)
    $Verstecken = GUICtrlCreateButton("Verstecken", 50, 200)
    $Anzeigen = GUICtrlCreateButton("Anzeigen", 125, 200)
    GUISetState(@SW_SHOW)
    WinSetOnTop($GUI, "", 1)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Anzeigen
    _WindowState(@SW_SHOW)
    Case $Verstecken
    _WindowState(@SW_HIDE)
    EndSwitch
    WEnd

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

    Func _WindowState($sState)
    Local $aEditList = StringSplit(GUICtrlRead($Edit), @CRLF, 1)
    If $aEditList[1] = "" Then Return MsgBox(262144+64, "Fehler", "Bitte etwas eingeben.")
    Local $aWinList = WinList()
    For $i = 1 To $aEditList[0]
    If $aEditList[$i] = "" Then ContinueLoop
    For $j = 1 To $aWinList[0][0]
    If $aWinList[$j][0] = "" Then ContinueLoop
    If StringInStr($aWinList[$j][0], $aEditList[$i]) Then WinSetState($aWinList[$j][1], "", $sState)
    Next
    Next
    EndFunc ;==>_WindowState

    [/autoit]