Hi Com.,
ich habe einen Fritzbox ip changer geschrieben.
Alles klappt wunderbar, nur macht mir die while schleife zu schaffen.
Hier mein Script.
Ich komme einfach nicht weiter.
Ich möchte lediglich dass der Stop button, während der schleife verwenbar ist, um die schleife zu beenden.
hoffe ihr könnt mir geschickte ideen geben.
ich habe einen Fritzbox ip changer geschrieben.
Alles klappt wunderbar, nur macht mir die while schleife zu schaffen.
Hier mein Script.
Code:
#include <INet.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
HotKeySet("{NUMPAD1}", "_change")
Global $AutoChange = false
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Fr!tzBox Ip Changer by FreehuntX", 360, 154, 294, 253)
$Group1 = GUICtrlCreateGroup("Simple Changer", 8, 0, 153, 57)
$Button1 = GUICtrlCreateButton("Change", 16, 24, 75, 25)
$Label1 = GUICtrlCreateLabel("or Num1", 96, 32, 53, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label2 = GUICtrlCreateLabel("Current IP:", 8, 72, 54, 17)
$Label3 = GUICtrlCreateLabel("Please Wait", 64, 72, 101, 17)
$Group2 = GUICtrlCreateGroup("Status", 8, 96, 153, 49)
$Label4 = GUICtrlCreateLabel("Nothing...", 32, 120, 50, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Time Changer", 168, 0, 185, 145)
$Input1 = GUICtrlCreateInput("1800", 224, 22, 113, 21)
$Label5 = GUICtrlCreateLabel("Delay:", 176, 24, 34, 17)
$Button2 = GUICtrlCreateButton("Start", 176, 56, 75, 25)
$Button3 = GUICtrlCreateButton("Stop", 264, 56, 75, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("Status", 176, 88, 169, 49)
$Label6 = GUICtrlCreateLabel("Nothing...", 200, 112, 50, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetState($Button3, $GUI_DISABLE)
GUICtrlSetdata($Label3,_GetIp())
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_change()
Case $button2
_AutoON()
Case $Button3
_AutoOFF()
EndSwitch
WEnd
Func _change()
GUICtrlSetState($Button1, $GUI_DISABLE)
GUICtrlSetdata($Label4,"Changing...")
TrayTip("Fritz!Box","Die Internetverbindung wird jetzt getrennt ...", 8)
RunWait(@ComSpec & " /c " & 'type data.box | "' & @ScriptDir & '\nc.exe" -w 1 fritz.box 49000 >nul', "", @SW_HIDE)
TrayTip("Fritz!Box","Die Internetverbindung wurde getrennt und kann jetzt wiederhergestellt werden!", 8)
Sleep(3000)
GUICtrlSetdata($Label3,_GetIp())
GUICtrlSetdata($Label4,"Changed!")
GUICtrlSetState($Button1, $GUI_Enable)
sleep(3000)
GUICtrlSetdata($Label4,"Nothing...")
EndFunc
Func _AutoON()
GUICtrlSetState($Button2, $GUI_DISABLE)
GUICtrlSetState($Button3, $GUI_Enable)
$AutoChange = true
while $AutoChange = true
Sleep(GUICtrlRead($Input1)*1000)
GUICtrlSetdata($Label6,"Changing...")
GUICtrlSetState($Button1, $GUI_Disable)
TrayTip("Fritz!Box","Die Internetverbindung wird jetzt getrennt ...", 8)
RunWait(@ComSpec & " /c " & 'type data.box | "' & @ScriptDir & '\nc.exe" -w 1 fritz.box 49000 >nul', "", @SW_HIDE)
TrayTip("Fritz!Box","Die Internetverbindung wurde getrennt und kann jetzt wiederhergestellt werden!", 8)
Sleep(3000)
GUICtrlSetdata($Label3,_GetIp())
GUICtrlSetdata($Label6,"Changed!")
GUICtrlSetState($Button1, $GUI_Enable)
sleep(3000)
GUICtrlSetdata($Label6,"Nothing...")
If $AutoChange = false Then ExitLoop
wend
EndFunc
Func _AutoOFF()
GUICtrlSetState($Button2, $GUI_Enable)
GUICtrlSetState($Button3, $GUI_DISABLE)
$AutoChange = false
EndFunc
Ich möchte lediglich dass der Stop button, während der schleife verwenbar ist, um die schleife zu beenden.
hoffe ihr könnt mir geschickte ideen geben.