Hallo Liebe Community,
ich bin ein AutoIT Neuling und hab von unserem Werksleiter im Betrieb eine Aufgabe bekommen.
Es sollen einfach 3 Remote Fenster geöffnet werden die sich alle 30 sek abwechseln.
Das ist mein 1. Script was ich mit AUtoit geschrieben habe.
Das klappt alles auch, nur bekomme ich das Script nicht beendet.
Ich hab eine kleine GUI mit Starten und Cancel.
Nur sobald ich auf Starten drücke lande ich in meine Schleife und komme nicht mehr raus. Kann mir da jemand ein Tipp geben ?
Ich hab es mit WINWAITCLOSE probiert jedoch fliege ich direkt aus der Schleife.
Ich soll jedoch nur aus der Schleife fliegen wenn ich eins der Remotefenster schließe.
Momenan probiere ich es mit 2 Fenstern zum testen aus.
Grüße
Hier das Script:
AutoIt
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiMenu.au3>
#include <Array.au3>
Global $pcname[2]
;--------------------------------------------------------------
; Dauer vom Fenster Interval wählen
$dauerfensterwechsel = "6000"
; PC Namen eintragen
$pcname[0] = "p807mon99"
$pcname[1] = "p807prueferpc"
;--------------------------------------------------------------
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Radmin Changer", 300,200)
$Button1 = GUICtrlCreateButton("Run Radmin", 120, 170, 85, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Cancel", 210, 170, 85, 25, $WS_GROUP)
GUICtrlCreatePic(@ScriptDir & "\ball.jpg",5, 5, 60, 60)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While true
$nMsg = GUIGetMsg()
If $nMsg = $GUI_EVENT_CLOSE Then Exit
If $nMsg = $Button2 Then Exit
If $nMsg = $Button1 Then Fensterwechsel()
WEnd
Fensterwechsel()
Func Fensterwechsel()
For $i=0 To 1
Run("C:\Program Files (x86)\Radmin Viewer 3\Radmin.exe")
sleep(2000)
WinWaitActive("[CLASS:RadminViewerMainWndBASECLASS#185708]")
Send("{f10}")
Send("{enter 2}")
Send("{tab 9}")
Send("{DOWN}")
Send("{tab}")
send($pcname[$i],"{1}")
Send("{enter}")
Next
while true
Local $hWnd = WinWait($pcname[0] &" - View Only", "", 5)
Sleep($dauerfensterwechsel)
WinActivate($hWnd)
If WinActive($hWnd) Then
WinSetState($hWnd, "", @SW_MAXIMIZE)
Else
WinSetState($hWnd, "", @SW_HIDE)
EndIf
WinWaitClose($hWnd)
Return
sleep($dauerfensterwechsel)
;
Local $pruefer = WinWait($pcname[1] &" - View Only", "", 5)
WinActivate($pruefer)
If WinActive($pruefer) Then
WinSetState($pruefer, "", @SW_MAXIMIZE)
Else
WinSetState($pruefer, "", @SW_HIDE)
EndIf
WinWaitClose($pruefer)
Return
WEnd
EndFunc
Alles anzeigen