Hallo zusammen!
Ich habe erst vor Kurzem mit Autoit angefangen und arbeite grade daran, eine Endlosschleife für Youtube-Videos zu machen, bei der ich mit ControlSend arbeite. Nun habe ich bei meiner Func aber das Problem, dass wenn in dem Input, in dem ich den Namen des Videos reinkopiere, ein Leerzeichen am Ende steht, der Skript nicht mehr das Fenster erkennt. Zwar könnte ich das jetzt immer löschen, aber irgendwie fehlt mir dabei die Herausforderung. Manchmal werden bei dem Kopieren des Namens des Videos ein Leerzeichen hinten dran gehängt und manchmal nicht, weshalb ich auch für beide Zustände eine Lösung haben will.
Das Problem liegt darin, dass ich die bei der Variable $Input2 nicht StringStripWS anwenden kann..., und deswegen bekomme ich das Leerzeichen hinten nicht weg. Wenn kein Leerzeichen da ist, funktioniert es aber.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=f:\programme\gui creator\form1.kxf
$Form1_1 = GUICreate("Auswahl der Videoplattformen", 356, 209, -1, -1)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 64, 8, 17, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 200, 8, 17, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 64, 32, 17, 17)
$Youtube = GUICtrlCreateLabel("Youtube", 96, 8, 44, 17)
$Label1 = GUICtrlCreateLabel("MyVideo", 232, 8, 45, 17)
$Label2 = GUICtrlCreateLabel("Dailymotion", 96, 32, 58, 17)
$Label3 = GUICtrlCreateLabel("Dauer des Videos in Sekunden:", 24, 128, 154, 17)
$Button1 = GUICtrlCreateButton("Start", 72, 160, 81, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Abbrechen", 192, 160, 81, 25, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 192, 120, 81, 21, $ES_Number)
$Label4 = GUICtrlCreateLabel("Name des Videos:", 24, 64, 90, 17)
$Input2 = GUICtrlCreateInput("", 24, 88, 281, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
HotKeySet("{ESC}", "Terminate")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
videostarter ()
Case $Button2
Terminate ()
EndSwitch
WEnd
Func videostarter()
ControlSend ("YouTube - " & GUICtrlRead ($Input2) & " - Mozilla Firefox", "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")
$begin = TimerInit ()
Sleep ((GuiCtrlRead ($Input1))*1000)
$dif = TimerDiff ($begin);findet vllt später Gebrauch, um diese Sleeptime nach GUI-Beendung noch zu erhalten
While True
ControlSend ("YouTube - " & GUICtrlRead ($Input2) & " - Mozilla Firefox", "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")
Sleep ((GUICtrlRead ($Input1))*1000)
WEnd
EndFunc
Func Terminate()
Exit
EndFunc
Func TerminateGui () ; findet vllt später Gebrauch, um den GUI während der Skript weiterläuft, zu beenden
GUIDelete ("#Region ### START Koda GUI section ### Form=f:\programme\gui creator\form1.kxf")
EndFunc
Ich bin euch jetzt schon dankbar