Kage Posted December 28, 2010 Share Posted December 28, 2010 (edited) Hello! i have been attempting to make a easy ping tool for myself. i found someone else's ping tool and wanted to build it in a GUI Right now the pinging works, but i cannot seems to have 2 pings run at the same time. i was hoping if someone could help me with it. The idea is to click a check box and a ping start running, in the script below i have only wrote it for the checkbox of Premiums01 and premiums02 when you uncheck the checkbox it stops pinging Right now the ping target is set on google.com i hope someone could tell me if its possible what im trying to achieve im still rather new to autoit so please give me feedback! expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> start() Func start() GUICreate("Ping tool", 400, 200) $ping1 = GUICtrlCreateInput("Custom Target 1", 40, 40, 100, 21) GUICtrlSetState($ping1, $gui_disable) $ping1d = GUICtrlCreateCheckbox(" ",10, 40) $ping2 = GUICtrlCreateInput("Custom Target 2", 40, 65, 100) GUICtrlSetState($ping2, $gui_disable) $ping2d = GUICtrlCreateCheckbox(" ",10, 65) $ping3 = GUICtrlCreateInput("Custom Target 3", 40, 90, 100) GUICtrlSetState($ping3, $gui_disable) $ping3d = GUICtrlCreateCheckbox(" ",10, 90) $ping4 = GUICtrlCreateInput("Custom Target 4", 40, 115, 100) GUICtrlSetState($ping4, $gui_disable) $ping4d = GUICtrlCreateCheckbox(" ",10, 115) $pingprS01 = GUICtrlCreateCheckbox("Premiums01", 160, 60) $pinggoogle = GUICtrlCreateCheckbox("Google", 160, 40) $pingprS02 = GUICtrlCreateCheckbox("Premiums02", 160, 80) $pingprS03 = GUICtrlCreateCheckbox("Premiums03", 160, 100) $pingprS04 = GUICtrlCreateCheckbox("Premiums04", 160, 120) $pingprS05 = GUICtrlCreateCheckbox("Premiums05", 160, 140) GUISetState() while 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $ping1d ; ping input 1 disable If GUICtrlRead($ping1d) = 1 Then GUICtrlSetState($ping1, $GUI_ENABLE) Else GUICtrlSetState($ping1, $GUI_DISABLE) EndIf Case $msg = $ping2d ; ping input 2 disable If GUICtrlRead($ping2d) = 1 Then GUICtrlSetState($ping2, $GUI_ENABLE) Else GUICtrlSetState($ping2, $GUI_DISABLE) EndIf Case $msg = $ping3d ; ping input 3 disable If GUICtrlRead($ping3d) = 1 Then GUICtrlSetState($ping3, $GUI_ENABLE) Else GUICtrlSetState($ping3, $GUI_DISABLE) EndIf Case $msg = $ping4d ; ping input 4 disable If GUICtrlRead($ping4d) = 1 Then GUICtrlSetState($ping4, $GUI_ENABLE) Else GUICtrlSetState($ping4, $GUI_DISABLE) EndIf Case $msg = $pingprs01 ;ping premiums01 If GUICtrlRead($pingprs01) = 1 Then Local $1count = 0 Local $1success = 0 $1display = 'Pinging "Premiums01"' SplashTextOn("Premiums01", $1display, 650, 45, -1, 5, 48) Do $1count = $1count + 1 $1pingresult = Ping("google.com", 50) If $1pingresult > "0" Then $1success = $1success + 1 EndIf $1percentage = ($1success / $1count) * 100 $1ppacketloss = 100 - $1percentage ControlSetText("Premiums01", "", "Static1", $1display & ". " & $1pingresult & " ms response time and " & Round($1ppacketloss, 2) & "% packet loss.") Sleep(50) Until GUICtrlRead($pingprs01) = 4 SplashOff() EndIf Case $msg = $pingprs02 ;ping premiums02 If GUICtrlRead($pingprs02) = 1 Then Local $2count = 0 Local $2success = 0 $2display = 'Pinging "Premiums02"' SplashTextOn("Ping Type Thing", $2display, 650, 45, -1, 5, 48) Do $2count = $2count + 1 $2pingresult = Ping("google.com", 50) If $2pingresult > "0" Then $2success = $2success + 1 EndIf $2percentage = ($2success / $2count) * 100 $2ppacketloss = 100 - $2percentage ControlSetText("Ping Type Thing", "", "Static1", $2display & ". " & $2pingresult & " ms response time and " & Round($2ppacketloss, 2) & "% packet loss.") Sleep(50) Until GUICtrlRead($pingprs02) = 4 SplashOff() EndIf EndSelect WEnd EndFunc Edited December 28, 2010 by Kage Link to comment Share on other sites More sharing options...
spudw2k Posted December 28, 2010 Share Posted December 28, 2010 There are some examples that maybe of use to you: is a Threaded Ping are more ping gui examples. Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX BuilderMisc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose ArrayProjects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalcCool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
Kage Posted December 28, 2010 Author Share Posted December 28, 2010 That was not really wat i ment, i was wondering if it is possible to have 2 pings of those (that are in my script) to run at the same time. Right now if you load the script and execute it the 2 checkboxes of premiums01 and premiums02 work, as they both ping to google, right now you can only use one of those at a time. and im looking for a way to have them both pinging at the same time Link to comment Share on other sites More sharing options...
spudw2k Posted December 30, 2010 Share Posted December 30, 2010 Understood, a threaded ping aka multithreaded ping should allow you to do just that. Re-examine the first link I provided. Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX BuilderMisc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose ArrayProjects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalcCool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now