Hallo
Wie kann man ein Fenster auf eine bestimmte grösse verkleinern oder vergrössern? Ich meine jetzt nicht maximieren, da weiss ich es wie das geht. Und wie kann man ein Fenster verschieben?
Hallo
Wie kann man ein Fenster auf eine bestimmte grösse verkleinern oder vergrössern? Ich meine jetzt nicht maximieren, da weiss ich es wie das geht. Und wie kann man ein Fenster verschieben?
WinMove ist für beides zuständig ;).
Um die größe ändern zu können habe ich was.
Öffne einfach mal den Editor und drücke auf Scan !
Dann einfach das Fenster auswählen , deine größe und Resize drücken (=
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$gui = GUICreate("Remover", 0x00F5, 0x0109, 0x01DD, 0x00FD, 0x10C60000,
$scan = GUICtrlCreateButton("Scan", 5, 5, 0x0051, 0x001F)
$resize = GUICtrlCreateButton("Resize", 5, 0x00C5, 0x0051, 0x001F)
$clientlist = GUICtrlCreateList("", 0x005F, 5, 0x008D, 0x00C2)
$size = GUICtrlCreateCombo("100", 0x005F, 0x00CC, 0x008D, 0x0019)
GUICtrlSetData(-1, "50|30|10")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $scan
update()
Case $resize
$p = WinGetPos(getclient())
WinMove(getclient(), "", @DesktopWidth / 2 - ((@DesktopWidth / 100) * GUICtrlRead($size)) / 2, @DesktopHeight / 2 - ((@DesktopHeight / 100) * GUICtrlRead($size)) / 2, (@DesktopWidth / 100) * GUICtrlRead($size), (@DesktopHeight / 100) * GUICtrlRead($size))
EndSwitch
WEnd
Func update()
GUICtrlSetData($clientlist, "")
Local $list = WinList("[CLASS:Notepad]")
For $i=1 To $list[0][0]
GUICtrlSetData($clientlist, $i-1 & " - " & $list[$i][0], $i-1 & " - " & $list[$i][0])
Next
EndFunc
Func getclient()
Local $x = StringSplit(GUICtrlRead($clientlist), " - ")
Local $list = WinList("[CLASS:Notepad]")
Return $list[$x[1]+1][1]
EndFunc
Ich danke euch.
Ist folgendes eigentlich möglich?
[autoit]WinWaitActive("Notepad OR Explorer", "", 30)
[/autoit]Also das Skript soll warten bis eines der beiden Fenster Notepad oder Explorer offen ist. Oder kann man das anders machen?
So wie du das gemacht hast ist das glaub ich falsch, so müsste es aber gehen
[autoit]
If WinActive(bla) Or WinActive(nochmal bla) Then ;irgendwas
Kannst du z.B. in eine While 1- Schleife setzen, und wenn ein Fenster aktiv ist, wird die Schleife verlassen.
Ich danke dir.
Ich hab doch noch eine Frage. Und zwar wie kann man in einem Programm z.B. Notepad die Navigationsleiste benutzen? Also z.B. auf Format --> Zeilenumbruch klicken? Also mit MouseClick würde das sicher gehen, aber das geht doch sicher auch einfacher.
Ist Notepad offen?
Dann hol die die Control ID, lese den Inhalt aus, füge zum Inhalt ein @LF hinzu und setze den Inhalt wieder ein (Mit ControlSetText/ControlGetText)
Beispiel kommt gleich.
(Alternativ geht es ja auch mit Send())
Edit1:
Local $sText = @LF
Run("Notepad.exe")
WinWaitActive("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]", "", "Edit1", ControlGetText("[CLASS:Notepad]", "", "Edit1") & $sText)
Ich hab doch noch eine Frage. Und zwar wie kann man in einem Programm z.B. Notepad die Navigationsleiste benutzen? Also z.B. auf Format --> Zeilenumbruch klicken? Also mit MouseClick würde das sicher gehen, aber das geht doch sicher auch einfacher.
Damit geht es -> WinMenuSelectItem
Gruß
Greenhorn
Vielen Dank. Werde es ausprobieren.