<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.autoitscript.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jguinch</id>
	<title>AutoIt Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.autoitscript.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jguinch"/>
	<link rel="alternate" type="text/html" href="https://www.autoitscript.com/wiki/Special:Contributions/Jguinch"/>
	<updated>2026-04-22T00:47:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=Snippets_(_Internet_)&amp;diff=13382</id>
		<title>Snippets ( Internet )</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=Snippets_(_Internet_)&amp;diff=13382"/>
		<updated>2016-03-24T14:29:44Z</updated>

		<summary type="html">&lt;p&gt;Jguinch: /* _IsIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[category:Snippets]]&lt;br /&gt;
&lt;br /&gt;
{{Snippet Credit Header}}&lt;br /&gt;
&lt;br /&gt;
== Auto-Check For User To Update ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 4920-valuater&lt;br /&gt;
 | AuthorName = Valuater&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Auto-Check For User To Update&lt;br /&gt;
&lt;br /&gt;
Global $Udif, $QT_web = &amp;quot;www.XPCleanMenu.HostRocket.com&amp;quot;&lt;br /&gt;
Call(&amp;quot;Set_Updater&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
;test&lt;br /&gt;
$Uask = MsgBox(68, &amp;quot;Update Notification&amp;quot;, &amp;quot; Your last update was more than &amp;quot; &amp;amp; $Udif &amp;amp; &amp;quot; days ago.&amp;quot; &amp;amp; @CRLF &amp;amp; @CRLF &amp;amp; &amp;quot;Would you like to check for new updates now?&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
If $Uask = 6 Then MsgBox(0, &amp;quot;&amp;quot;, &amp;quot;Success.  The update was ran.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Func Set_Updater()&lt;br /&gt;
	If Not FileExists(@SystemDir &amp;amp; &amp;quot;\UpDate.dat&amp;quot;) Then&lt;br /&gt;
		FileWrite(@SystemDir &amp;amp; &amp;quot;\UpDate.dat&amp;quot;, @YDAY)&lt;br /&gt;
	Else&lt;br /&gt;
		$Uold = FileReadLine(@SystemDir &amp;amp; &amp;quot;\UpDate.dat&amp;quot;, 1)&lt;br /&gt;
&lt;br /&gt;
		If $Uold &amp;gt;=320 Then&lt;br /&gt;
			FileDelete(@SystemDir &amp;amp; &amp;quot;\UpDate.dat&amp;quot;)&lt;br /&gt;
			Return&lt;br /&gt;
		EndIf&lt;br /&gt;
&lt;br /&gt;
		$Udif = @YDAY - $Uold&lt;br /&gt;
&lt;br /&gt;
		If $Udif &amp;gt;= 45 Then&lt;br /&gt;
			$Uask = MsgBox(68, &amp;quot;UpDate Notification&amp;quot;, &amp;quot; Your last UpDate was more than &amp;quot; &amp;amp; $Udif &amp;amp; &amp;quot; days ago  &amp;quot; &amp;amp; @CRLF &amp;amp; @CRLF &amp;amp; &amp;quot;Would you like to check for new updates now?        &amp;quot; &amp;amp; @CRLF &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
			If $Uask = 6 Then&lt;br /&gt;
				Run(@ProgramFilesDir &amp;amp; &amp;quot;\Internet Explorer\iexplore.exe &amp;quot; &amp;amp; $QT_web)&lt;br /&gt;
				WinWaitActive(&amp;quot;&amp;quot;)&lt;br /&gt;
			EndIf&lt;br /&gt;
&lt;br /&gt;
			FileDelete(@SystemDir &amp;amp; &amp;quot;\UpDate.dat&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
			FileWrite(@SystemDir &amp;amp; &amp;quot;\UpDate.dat&amp;quot;, @YDAY)&lt;br /&gt;
		EndIf&lt;br /&gt;
	EndIf&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _GetIEVersion ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Check IE Version.&lt;br /&gt;
ConsoleWrite(_GetIEVersion() &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
Func _GetIEVersion()&lt;br /&gt;
    Return StringRegExpReplace(RegRead(&#039;HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\&#039;, &#039;Version&#039;), &#039;^(\d+\.\d+).*&#039;, &#039;$1&#039;)&lt;br /&gt;
EndFunc   ;==&amp;gt;_GetIEVersion&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _GetTimeOnline ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
 | Desc = Retrieve the current time from TimeAPI.org.  Ideal if your Windows clock is out of sync.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Retrieve the current time from TimeAPI.org.  Ideal if your Windows clock is out of sync.&lt;br /&gt;
ConsoleWrite(_GetTimeOnline(0) &amp;amp; @CRLF) ; TimeZone UTC.&lt;br /&gt;
&lt;br /&gt;
; #FUNCTION# ====================================================================================================================&lt;br /&gt;
; Name ..........: _GetTimeOnline&lt;br /&gt;
; Description ...: Retrieve the current date and time from TimeAPI.org.&lt;br /&gt;
; Syntax ........: _GetTimeOnline($iTimeZone)&lt;br /&gt;
; Parameters ....: $iTimeZone           - An integer value of the timezone .&lt;br /&gt;
;				   0 - UTC (Universal Time)&lt;br /&gt;
;				   1 - EST (Eastern Time)&lt;br /&gt;
;				   2 - CST (Central Time)&lt;br /&gt;
;				   3 - MST (Mountain Time)&lt;br /&gt;
;				   4 - PST (Pacific Time)&lt;br /&gt;
;				   5 - AKST (Alaska Time)&lt;br /&gt;
;				   6 - HAST (Hawaii-Aleutian Time)&lt;br /&gt;
; Return values .: Success: Returns the current Date and Time in the format YYYY/MM/DD HH:MM:SS&lt;br /&gt;
;				   Failure: Sets @error to non-zero and returns the same format as a successful return but using the system time.&lt;br /&gt;
; Author ........: guinness&lt;br /&gt;
; Link ..........: According to http://www.programmableweb.com/api/timeapi, this is for non-commercial use.&lt;br /&gt;
; Example .......: Yes&lt;br /&gt;
; ===============================================================================================================================&lt;br /&gt;
Func _GetTimeOnline($iTimeZone)&lt;br /&gt;
	Local $aTimeZone[7] = [&#039;utc&#039;, &#039;est&#039;, &#039;cst&#039;, &#039;mst&#039;, &#039;pst&#039;, &#039;akst&#039;, &#039;hast&#039;]&lt;br /&gt;
&lt;br /&gt;
	Local $sRead = BinaryToString(InetRead(&#039;http://www.timeapi.org/&#039; &amp;amp; $aTimeZone[$iTimeZone] &amp;amp; &#039;/now?format=\Y/\m/\d%20\H:\M:\S&#039;))&lt;br /&gt;
&lt;br /&gt;
	If @error Then&lt;br /&gt;
		Return SetError(1, 0, @YEAR &amp;amp; &#039;/&#039; &amp;amp; @MON &amp;amp; &#039;/&#039; &amp;amp; @MDAY &amp;amp; &#039; &#039; &amp;amp; @HOUR &amp;amp; &#039;:&#039; &amp;amp; @MIN &amp;amp; &#039;:&#039; &amp;amp; @SEC)&lt;br /&gt;
	EndIf&lt;br /&gt;
&lt;br /&gt;
	Return $sRead&lt;br /&gt;
EndFunc   ;==&amp;gt;_GetTimeOnline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _HTML_StripTags ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 25246-robjong&lt;br /&gt;
 | AuthorName = Robjong&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
MsgBox(4096, &amp;quot;&amp;quot;, _HTML_StripTags(&amp;quot;This should be # - (&amp;amp;#35;)&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
; Strip HTML tags from HTML syntax. By Robjong.&lt;br /&gt;
Func _HTML_StripTags($sHTMLData) ; http://www.autoitscript.com/forum/topic/...tml-data/page__view__findpost_&lt;br /&gt;
    If $sHTMLData = &amp;quot;&amp;quot; Then Return SetError(1, 0, $sHTMLData)&lt;br /&gt;
&lt;br /&gt;
    Local $oHTML = ObjCreate(&amp;quot;HTMLFILE&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    If @error Then Return SetError(1, 0, $sHTMLData)&lt;br /&gt;
&lt;br /&gt;
    $oHTML.Open()&lt;br /&gt;
    $oHTML.Write($sHTMLData)&lt;br /&gt;
&lt;br /&gt;
    Return SetError(0, 0, $oHTML.Body.InnerText)&lt;br /&gt;
EndFunc   ;==&amp;gt;_HTML_StripTags&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _InetGetOutOfProcess ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
ConsoleWrite(_InetGetOutOfProcess(&#039;http://google.com&#039;, @TempDir &amp;amp; &#039;\Google.tmp&#039;) &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
; Download a file by spawning a new AutoIt process.&lt;br /&gt;
Func _InetGetOutOfProcess($sURL, $sFilePath, $iOptions = 0)&lt;br /&gt;
    Return RunWait(&#039;&amp;quot;&#039; &amp;amp; @AutoItExe &amp;amp; &#039;&amp;quot; /AutoIt3ExecuteLine &#039; &amp;amp; &#039;&amp;quot;Exit InetGet(&amp;quot;&amp;quot;&#039; &amp;amp; $sURL &amp;amp; &#039;&amp;quot;&amp;quot;, &amp;quot;&amp;quot;&#039; &amp;amp; $sFilePath &amp;amp; &#039;&amp;quot;&amp;quot;, &#039; &amp;amp; $iOptions &amp;amp; &#039;, 0)&amp;quot;&#039;) &amp;gt; 0&lt;br /&gt;
EndFunc   ;==&amp;gt;_InetGetOutOfProcess&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _IsInternetConnected ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
ConsoleWrite(&amp;quot;Internet Is Connected&amp;quot; &amp;amp; &amp;quot; = &amp;quot; &amp;amp; _IsInternetConnected() &amp;amp; @CRLF) ; ( Returns &amp;quot;True&amp;quot; Or &amp;quot;False&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Func _IsInternetConnected()&lt;br /&gt;
    Local $aReturn = DllCall(&#039;connect.dll&#039;, &#039;long&#039;, &#039;IsInternetConnected&#039;)&lt;br /&gt;
    If @error Then&lt;br /&gt;
        Return SetError(1, 0, False)&lt;br /&gt;
    EndIf&lt;br /&gt;
    Return $aReturn[0] = 0&lt;br /&gt;
EndFunc   ;==&amp;gt;_IsInternetConnected&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _IsIP ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 30100-jguinch&lt;br /&gt;
 | AuthorName = jguinch&lt;br /&gt;
 | Desc = Checks to see if a string is a valid IP address.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
;Checks to see if a string is a valid IP address.&lt;br /&gt;
&lt;br /&gt;
If _IsIP(&amp;quot;127.0.0.1&amp;quot;) Then Msgbox(0, &amp;quot;&amp;quot;, &amp;quot;Valid IP address.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Func _IsIP($ip)&lt;br /&gt;
    Return StringRegExp ($ip, &amp;quot;^(?:(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?1)$&amp;quot;)&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _IsValidIP ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 20477-mrcreator&lt;br /&gt;
 | AuthorName = MrCreatoR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Array.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Local Const $sString = @IPAddress2 &amp;amp; &amp;quot;:8080&amp;quot; ;8080 is port value (for example)&lt;br /&gt;
&lt;br /&gt;
Local Const $GetValidIp = _IsValidIP($sString, &amp;quot;:&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
ConsoleWrite($GetValidIp)&lt;br /&gt;
&lt;br /&gt;
Local $IPsArray = _StringToIPArray(&#039;99.77.88.255 567567567 text 155.99.66.6 some more text &#039; &amp;amp; @IPAddress1 &amp;amp; &#039;,&#039; &amp;amp; @IPAddress2)&lt;br /&gt;
&lt;br /&gt;
_ArrayDisplay($IPsArray)&lt;br /&gt;
&lt;br /&gt;
Func _IsValidIP($sString, Const $sDelim = &amp;quot;&amp;quot;)&lt;br /&gt;
    If Not StringInStr($sString, &amp;quot;.&amp;quot;) Then Return 0&lt;br /&gt;
&lt;br /&gt;
    If $sDelim &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then $sString = StringLeft($sString, StringInStr($sString, $sDelim) - 1)&lt;br /&gt;
&lt;br /&gt;
    If StringLen($sString) &amp;gt; 15 Then Return 0&lt;br /&gt;
&lt;br /&gt;
    Local $Dot_Split = StringSplit($sString, &amp;quot;.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    Local $iUbound = UBound($Dot_Split) - 1&lt;br /&gt;
&lt;br /&gt;
    If $iUbound &amp;lt;&amp;gt; 4 Then Return 0&lt;br /&gt;
&lt;br /&gt;
    For $i = 1 To $iUbound&lt;br /&gt;
        If $Dot_Split[$i] = &amp;quot;&amp;quot; Then Return 0&lt;br /&gt;
        If StringRegExp($Dot_Split[$i], &#039;[^0-9]&#039;) Or Number($Dot_Split[$i]) &amp;gt; 255 Then Return 0&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    If $sDelim &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then Return $sString&lt;br /&gt;
    Return 1&lt;br /&gt;
EndFunc&lt;br /&gt;
&lt;br /&gt;
Func _StringToIPArray($sString)&lt;br /&gt;
    Local $avArray = StringRegExp($sString, &#039;([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)&#039;, 3)&lt;br /&gt;
    Local $avRetArr[1], $iUbound&lt;br /&gt;
&lt;br /&gt;
    For $i = 0 To UBound($avArray)-1&lt;br /&gt;
        If _IsValidIP($avArray[$i]) Then&lt;br /&gt;
            $iUbound = UBound($avRetArr)&lt;br /&gt;
            ReDim $avRetArr[$iUbound+1]&lt;br /&gt;
            $avRetArr[$iUbound] = $avArray[$i]&lt;br /&gt;
        EndIf&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    If $iUbound = 0 Then Return SetError(1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
    $avRetArr[0] = $iUbound&lt;br /&gt;
    Return $avRetArr&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _IsValidURL ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 44525-jscript&lt;br /&gt;
 | AuthorName = JScript&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
;Author: JScript - Snippet Version No. = 1.0&lt;br /&gt;
;Snippet was Created Using AutoIt Version = 3.3.8.1, Creation Date = 22/05/12.&lt;br /&gt;
&lt;br /&gt;
ConsoleWrite(&amp;quot;Is Valid URL? &amp;quot; &amp;amp; _IsValidURL(&amp;quot;http:www.autoitscript.com&amp;quot;) &amp;amp; @CRLF)&lt;br /&gt;
ConsoleWrite(&amp;quot;Is Valid URL? &amp;quot; &amp;amp; _IsValidURL(&amp;quot;www.autoitscript.com&amp;quot;) &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
Func _IsValidURL($sPath)&lt;br /&gt;
    Local Const $sRet = DllCall(&amp;quot;Shlwapi.dll&amp;quot;, &amp;quot;BOOL&amp;quot;, &amp;quot;PathIsURL&amp;quot;, &amp;quot;str&amp;quot;, $sPath)&lt;br /&gt;
    Return $sRet[0]&lt;br /&gt;
EndFunc   ;==&amp;gt;_IsValidURL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _Toggle_Images ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 8730-big-daddy&lt;br /&gt;
 | AuthorName = big_daddy&lt;br /&gt;
 | Desc = Toggle Internet Images On/Off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
; Toggle Internet Images On/Off&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;IE.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opt(&amp;quot;WinTitleMatchMode&amp;quot;, 2)&lt;br /&gt;
&lt;br /&gt;
_Toggle_Images(1)&lt;br /&gt;
Global Const $oIE = _IECreate ()&lt;br /&gt;
&lt;br /&gt;
_IENavigate ($oIE, &amp;quot;http:\\www.google.com&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
While WinExists(&amp;quot;Internet Explorer&amp;quot;)&lt;br /&gt;
    Sleep(250)&lt;br /&gt;
WEnd&lt;br /&gt;
_Toggle_Images()&lt;br /&gt;
&lt;br /&gt;
Func _Toggle_Images($On_Off=0)&lt;br /&gt;
    If $On_Off == 0 Then&lt;br /&gt;
        RegWrite(&amp;quot;HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main&amp;quot;, &amp;quot;Display Inline Images&amp;quot;, &amp;quot;REG_SZ&amp;quot;, &amp;quot;yes&amp;quot;)&lt;br /&gt;
    Else&lt;br /&gt;
        RegWrite(&amp;quot;HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main&amp;quot;, &amp;quot;Display Inline Images&amp;quot;, &amp;quot;REG_SZ&amp;quot;, &amp;quot;no&amp;quot;)&lt;br /&gt;
    EndIf&lt;br /&gt;
EndFunc ;==&amp;gt;_Toggle_Images()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _Tracert ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 35302-guinness&lt;br /&gt;
 | AuthorName = guinness&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Constants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ConsoleWrite(_Tracert(&amp;quot;www.duckduckgo.com&amp;quot;) &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
Func _Tracert(Const $sURL)&lt;br /&gt;
	; -d = Do Not Resolve Host &amp;amp; -h Is The Number Of Hops.&lt;br /&gt;
	Local Const $sData = _RunStdOutRead(&#039;tracert -d -h 1 &#039; &amp;amp; $sURL, @SystemDir)&lt;br /&gt;
&lt;br /&gt;
	Local Const $aReturn = StringRegExp($sData, &#039;\[([\d.]{7,15})\]&#039;, 3)&lt;br /&gt;
&lt;br /&gt;
	If @error Then&lt;br /&gt;
		Return SetError(1, 0, -1)&lt;br /&gt;
	EndIf&lt;br /&gt;
&lt;br /&gt;
	Return $aReturn[0]&lt;br /&gt;
EndFunc   ;==&amp;gt;_Tracert&lt;br /&gt;
&lt;br /&gt;
Func _RunStdOutRead($sCommand, $sWorkingDirectory = @SystemDir)&lt;br /&gt;
	Local Const $iPID = Run(@ComSpec &amp;amp; &#039; /c &#039; &amp;amp; $sCommand, $sWorkingDirectory, @SW_HIDE, $STDOUT_CHILD + $STDERR_CHILD), $sOutput = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	While 1&lt;br /&gt;
		$sOutput &amp;amp;= StdoutRead($iPID)&lt;br /&gt;
&lt;br /&gt;
		If @error Then&lt;br /&gt;
			ExitLoop&lt;br /&gt;
		EndIf&lt;br /&gt;
	WEnd&lt;br /&gt;
&lt;br /&gt;
	Return $sOutput&lt;br /&gt;
EndFunc   ;==&amp;gt;_RunStdOutRead&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top | Return To Contents]]&lt;br /&gt;
&lt;br /&gt;
== _ValidIP ==&lt;br /&gt;
&lt;br /&gt;
{{Snippet Header&lt;br /&gt;
 | AuthorURL = 58912-brewmannh&lt;br /&gt;
 | AuthorName = BrewManNH&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Array.au3&amp;gt; ; This is only needed for the _ArrayDisplay function used in the example below, and is not needed for the _ValidIP function&lt;br /&gt;
&lt;br /&gt;
; IPv4 validation script&lt;br /&gt;
Global Const $IPAddress = &amp;quot;192.168.2.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Global Const $Return = _ValidIP($IPAddress)&lt;br /&gt;
&lt;br /&gt;
If $Return &amp;lt; 0 Then&lt;br /&gt;
    Switch @error&lt;br /&gt;
        Case 1&lt;br /&gt;
            MsgBox(64, &amp;quot;&amp;quot;, &amp;quot;Error in IP address: &amp;quot; &amp;amp; $IPAddress &amp;amp; @LF &amp;amp; &amp;quot;Error code is: 1 - IP address starts with an invalid number = 0, 127 , 169 or is &amp;gt; 239&amp;quot;)&lt;br /&gt;
        Case 2&lt;br /&gt;
            MsgBox(64, &amp;quot;&amp;quot;, &amp;quot;Error in IP address: &amp;quot; &amp;amp; $IPAddress &amp;amp; @LF &amp;amp; &amp;quot;Error code is: 2 - one of the octets of the IP address is out of the range 0-255 or contains invalid characters&amp;quot;)&lt;br /&gt;
        Case 3&lt;br /&gt;
            MsgBox(64, &amp;quot;&amp;quot;, &amp;quot;Error in IP address: &amp;quot; &amp;amp; $IPAddress &amp;amp; @LF &amp;amp; &amp;quot;Error code is: 3 - IP Address is not a valid dotted IP address (ex. valid address 190.40.100.20)&amp;quot;)&lt;br /&gt;
        Case 4&lt;br /&gt;
            MsgBox(64, &amp;quot;&amp;quot;, &amp;quot;Error in IP address: &amp;quot; &amp;amp; $IPAddress &amp;amp; @LF &amp;amp; &amp;quot;Error code is: 4 - Last octet is either 0 or 255&amp;quot;)&lt;br /&gt;
    EndSwitch&lt;br /&gt;
Else&lt;br /&gt;
    MsgBox(48, &amp;quot;&amp;quot;, $IPAddress &amp;amp; &amp;quot; is a valid Class &amp;quot; &amp;amp; $Return[5] &amp;amp; &amp;quot; IP address&amp;quot;)&lt;br /&gt;
    _ArrayDisplay($Return)&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
; FUNCTION# ===========================================================================================================&lt;br /&gt;
; Name...........: _ValidIP&lt;br /&gt;
; Description ...: Verifies whether an IP address is a valid IPv4 address or not&lt;br /&gt;
; Syntax.........: _ValidIP($sIP)&lt;br /&gt;
; Parameters ....: $sIP - IP address to validate&lt;br /&gt;
;&lt;br /&gt;
; Return values .: Success - Array containing split IP Address, IP address in Hex, and the Class of the IP address&lt;br /&gt;
;                            array[0] - [3] = the IP address split into octets&lt;br /&gt;
;                            array[4]       = IP address in Hex&lt;br /&gt;
;                            array[5]       = Class of the IP address [A through D]&lt;br /&gt;
;                  Failure - -1, sets @error&lt;br /&gt;
;                  |1 - IP address starts with an invalid number = 0, 127 , 169 or is &amp;gt; 239&lt;br /&gt;
;                  |2 - one of the octets of the IP address is out of the range 0-255 or contains invalid characters&lt;br /&gt;
;                  |3 - IP Address is not a valid dotted IP address (ex. valid address 190.40.100.20)&lt;br /&gt;
;                  |4 - Last octet ends in 0 or 255 which are invalid for an IP address&lt;br /&gt;
; Author ........: BrewManNH&lt;br /&gt;
; Modified.......:&lt;br /&gt;
; Remarks .......: This will accept an IP address that is 4 octets long, and contains only numbers and falls within&lt;br /&gt;
;                  valid IP address values. Class A networks can&#039;t start with 0 or 127. 169.xx.xx.xx is reserved and is&lt;br /&gt;
;                  invalid and any address that starts above 239, ex. 240.xx.xx.xx is reserved. The address range&lt;br /&gt;
;                  224-239 1s reserved as well for Multicast groups but can be a valid IP address range if you&#039;re using&lt;br /&gt;
;                  it as such. Any IP address ending in 0 or 255 is also invalid for an IP&lt;br /&gt;
; Related .......:&lt;br /&gt;
; Link ..........:&lt;br /&gt;
; Example .......: Yes&lt;br /&gt;
; =====================================================================================================================&lt;br /&gt;
Func _ValidIP($sIP)&lt;br /&gt;
    Local $adIPAddressInfo[6]&lt;br /&gt;
&lt;br /&gt;
    Local $aArray = StringSplit($sIP, &amp;quot;.&amp;quot;, 2)&lt;br /&gt;
&lt;br /&gt;
    If Not IsArray($aArray) Or UBound($aArray) &amp;lt;&amp;gt; 4 Then Return SetError(3, 0, -1)&lt;br /&gt;
&lt;br /&gt;
    Local $dString = &amp;quot;0x&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    If $aArray[0] &amp;lt;= 0 Or $aArray[0] &amp;gt; 239 Or $aArray[0] = 127 Or $aArray[0] = 169 Then&lt;br /&gt;
        Return SetError(1, 0, -1)&lt;br /&gt;
    EndIf&lt;br /&gt;
&lt;br /&gt;
    For $I = 0 To 3&lt;br /&gt;
        If $I &amp;lt; 3 Then&lt;br /&gt;
            If $aArray[$I] &amp;lt; 0 Or $aArray[$I] &amp;gt; 255 Or Not StringIsDigit($aArray[$I]) Then&lt;br /&gt;
                Return SetError(2, 0, -1)&lt;br /&gt;
            EndIf&lt;br /&gt;
        Else&lt;br /&gt;
            If Not StringIsDigit($aArray[$I]) Then&lt;br /&gt;
                Return SetError(2, 0, -1)&lt;br /&gt;
            EndIf&lt;br /&gt;
&lt;br /&gt;
            If $aArray[$I] &amp;lt; 1 Or $aArray[$I] &amp;gt; 254 Then&lt;br /&gt;
                Return SetError(4, 0, -1)&lt;br /&gt;
            EndIf&lt;br /&gt;
        EndIf&lt;br /&gt;
&lt;br /&gt;
        $dString &amp;amp;= StringRight(Hex($aArray[$I]), 2)&lt;br /&gt;
&lt;br /&gt;
        $adIPAddressInfo[$I] = $aArray[$I]&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    $adIPAddressInfo[4] = $dString&lt;br /&gt;
&lt;br /&gt;
    Switch $aArray[0]&lt;br /&gt;
        Case 1 To 126&lt;br /&gt;
            $adIPAddressInfo[5] = &amp;quot;A&amp;quot;&lt;br /&gt;
            Return $adIPAddressInfo&lt;br /&gt;
        Case 128 To 191&lt;br /&gt;
            $adIPAddressInfo[5] = &amp;quot;B&amp;quot;&lt;br /&gt;
            Return $adIPAddressInfo&lt;br /&gt;
        Case 192 To 223&lt;br /&gt;
            $adIPAddressInfo[5] = &amp;quot;C&amp;quot;&lt;br /&gt;
            Return $adIPAddressInfo&lt;br /&gt;
        Case 224 To 239&lt;br /&gt;
            $adIPAddressInfo[5] = &amp;quot;D&amp;quot;&lt;br /&gt;
            Return $adIPAddressInfo&lt;br /&gt;
    EndSwitch&lt;br /&gt;
EndFunc   ;==&amp;gt;_ValidIP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jguinch</name></author>
	</entry>
</feed>