Nice, I was more thinking along the lines of something like this though - it'll allow you scan to scan an entire subnet if you're not using a /24.
GetRange("10.0.0.78", "255.255.240.0")
Func GetRange($sIP, $sNetMask)
Local $aIPRange[2][4], $iIP, $iMask
$aIP = StringSplit($sIP, ".", 2)
$aMask = StringSplit($sNetMask, ".", 2)
For $i = 0 To 3
$iIP = BitShift($iIP, -8)
$iMask = BitShift($iMask, -8)
$iIP += $aIP[$i]
$iMask += $aMask[$i]
Next
Local $iNet = BitAND($iIP, $iMask)
Local $iFirst = $iNet + 1
Local $iBCast = BitOr($iNet, BitNot($iMask))
Local $iLast = $iBCast - 1
Local $sIP2, $iIP
For $i = $iFirst To $iLast
$iIP = $i
$sIP2 = ""
For $j = 1 To 4
$sIP2 = BitAND($iIP, 0xFF) & "." & $sIP2
$iIP = BitShift($iIP, 8)
Next
ConsoleWrite(StringTrimRight($sIP2, 1) & @CRLF)
Next
EndFunc
you'd then just nest the for loops... On second thought, its probably better to calculate the dotted notation on the fly. - Updated example!