Hi habe kleines problem
habe 3 fenster mit gleichen namen wie mache ich das das ich nur 1 fenster davon hiden kann?
bsp. Fenster namen Edit
jetzt habe ich 3xEdit und möchte gerne das 2. Edit Fenster hiden
Hi habe kleines problem
habe 3 fenster mit gleichen namen wie mache ich das das ich nur 1 fenster davon hiden kann?
bsp. Fenster namen Edit
jetzt habe ich 3xEdit und möchte gerne das 2. Edit Fenster hiden
Du brauchst den Fensterhandle.
Vielleicht klappt ja das hier:
[autoit]$WinListe = WinList("Edit")
WinActivate($WinListe[2][1])
hab dir hier mal ein programm geschrieben, das alle sichtbaren fenster nach dem Fenstertitel untersucht und wenn es Edit heißt wird man gefragt ob man es verstecken will
(dazu muss es aber genau 'Edit' heißen, 'Edit1' usw funktioniert nicht
Soll aber nur als Beispiel dienen wie man sowas machen könnte. Du musst es bestimmt noch für deine Bedürfnisse anpassen
#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]$fenstername = 'Edit' ; Hier fensternamen eintragen
[/autoit] [autoit][/autoit] [autoit]$visible = _WinGetVisible() ; Ein Array mit allen Sichtbaren Fenstern wird erstellt
_Arraydisplay($visible)
For $i = 1 to $visible[0][0] ; durchsuche das array von ersten bis zum letzten index
If $visible[$i][1] = $fenstername Then
$frage = MsgBox(4, 'Gefunden', 'Ein fenster mit dem Namen: ' & $fenstername & ' wurde gefunden.' & @CRLF & 'Soll dieses Fenster versteckt werden?')
If $frage = 6 Then
WinSetState($visible[$i][0], '', @SW_HIDE)
EndIf
EndIf
Next
msgbox(0,'', 'Fertig')
Func _WinGetVisible()
If Not IsDeclared('$Winvisible') Then Dim $Winvisible[1]
ReDim $Winvisible[1][2]
$Winlist = WinList()
For $i = 1 To $Winlist[0][0]
If StringStripCR($Winlist[$i][0]) <> '' And BitAND(WinGetState($Winlist[$i][1]), 2) Then
$Winvisible[0][0] = UBound($Winvisible)
ReDim $Winvisible[$Winvisible[0][0] + 1][2]
$Winvisible[$Winvisible[0][0]][0] = $Winlist[$i][1]
$Winvisible[$Winvisible[0][0]][1] = $Winlist[$i][0]
EndIf
Next
Return $Winvisible
EndFunc
Warum denn so kompliziert Schnitzel? das geht doch viel kürzer
$WinListe = WinList("Edit")
If Not $WinListe[0][0] = 0 Then
For $i = 1 to $WinListe[0][0]
If BitAnd(WinGetState($WinListe[$i][1]),2) Then
WinActivate($WinListe[$i][1])
If MsgBox(4,"","War dies das gesuchte Fenster?") = 6 Then
WinSetState($WinListe[$i][1],"",@SW_HIDE)
ExitLoop
EndIf
EndIf
Next
EndIf
natürlich gehts sehr viel spezieller. ich hab ja gesagt er muss es anpassen.
wäre meine _WinGet.... -UDF schon fertig dann wäre meins kürzer^^
is sie nur leider noch nicht
super vielen dank euch beiden es klappt wunder bar !!
Danke nochmal s