Jump to content

GUI IP range info retriever


FMS
 Share

Recommended Posts

Hello,

At first I´m still strugeling whit autoit and hope u can follow me whit mine problem.

I´m making a get MAC from IP GUI tool... (when u run it u will cee it )

And found some thing on the internet and put them togheter.

The problem i got is that i dont know how to put the GUI inputs in the function and run it.

I hope someone can help me or steer me in the right direction ?

This is what i got this far....

Thnx in advanced......

cinserly 

FMS

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <MsgBoxConstants.au3>


$Form1 = GUICreate("Form1", 305, 163, 192, 124)
$IP_from = GUICtrlCreateInput("192.168.9.1", 104, 32, 137, 21)
$IP_to = GUICtrlCreateInput("192.168.9.255", 104, 52, 137, 21)
$C_MAC = GUICtrlCreateCheckbox("Retrieve MAC", 16, 96, 97, 17)
$Group1 = GUICtrlCreateGroup("IP range", 8, 8, 265, 81)
$Label1 = GUICtrlCreateLabel("IP range from", 24, 32, 67, 17)
$Label2 = GUICtrlCreateLabel("IP range to", 24, 56, 56, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$C_OS = GUICtrlCreateCheckbox("Retrieve OS", 16, 118, 97, 17)
$B_Run = GUICtrlCreateButton("Run", 112, 104, 75, 25)
$B_Cancel = GUICtrlCreateButton("Cancel", 192, 104, 75, 25)
GUISetState(@SW_SHOW)


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $B_Cancel
            Exit
         Case $B_Run
            F_Run()
               #cs
            (make list visible)
            (Get IP list from / to)
            (get iff checked name)
            (ping from / to )
            (get iff checked MAC)
            (get iff checked OS)
            
               #ce
    EndSwitch
WEnd

Func F_Run()
    Local $iI, $iTimer, $hListView


    GUICreate("Ping IP Name Mac", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState(@SW_SHOW)


    _GUICtrlListView_AddColumn($hListView, "Ping", 100)
    _GUICtrlListView_AddColumn($hListView, "IP", 100)
    _GUICtrlListView_AddColumn($hListView, "Name", 100)
    _GUICtrlListView_AddColumn($hListView, "MAC", 100)

    _GUICtrlListView_SetItemCount($hListView, 5000)


    Local $aItems[5000][1]
    For $iI = 0 To UBound($aItems) - 1
        $aItems[$iI][0] = "Item " & $iI
    Next
    $iTimer = TimerInit()
    _GUICtrlListView_AddArray($hListView, $aItems)
    MsgBox($MB_SYSTEMMODAL, "Information", "Load time: " & TimerDiff($iTimer) / 1000 & " seconds")

    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hListView))


    Local $aItems[256][4]
    For $iI = 1 To UBound($aItems) - 1
        $aItems[$iI][0] = "Ping " & $iI
        $aItems[$iI][1] = "IP " & $iI & "-1"
        $aItems[$iI][2] = "Name" & $iI & "-2"
        $aItems[$iI][3] = "Mac " & $iI & "-3"
    Next
    $iTimer = TimerInit()
    _GUICtrlListView_AddArray($hListView, $aItems)
    MsgBox($MB_SYSTEMMODAL, "Information", "Load time: " & TimerDiff($iTimer) / 1000 & " seconds")


    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc

as finishing touch god created the dutch

Link to comment
Share on other sites

If I overstand you correctly, you could:

a) Pass the values as individual parameters to your function:

    F_Run($IP_from, $IP_to, $C_MAC, $C_OS)

then do your magic inside your function:
Func F_Run($ipFrom, $ipTo, $cMAC, $cOS)

; your magic code

EndFunc

B) pass a single array containing all the parameters to your function.

Link to comment
Share on other sites

Thnx for the function statements.

I just got a bit further :)

But now i got a new problem i think.....

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <MsgBoxConstants.au3>

$Form1 = GUICreate("IP tool by ME", 322, 156, 192, 124)
$IP_from_1 = GUICtrlCreateInput("192", 88, 32, 41, 21)
$IP_from_2 = GUICtrlCreateInput("168", 136, 32, 41, 21)
$IP_from_3 = GUICtrlCreateInput("9", 184, 32, 41, 21)
$IP_from_4 = GUICtrlCreateInput("", 232, 32, 41, 21)
$IP_to_1 = GUICtrlCreateInput("192", 88, 64, 41, 21)
$IP_to_2 = GUICtrlCreateInput("168", 136, 64, 41, 21)
$IP_to_3 = GUICtrlCreateInput("9", 184, 64, 41, 21)
$IP_to_4 = GUICtrlCreateInput("", 232, 64, 41, 21)
$Label1 = GUICtrlCreateLabel("IP range from", 16, 32, 67, 17)
$Label2 = GUICtrlCreateLabel("IP range to", 16, 64, 56, 17)
$C_MAC = GUICtrlCreateCheckbox("Get MAC", 8, 104, 97, 17)
$C_OS = GUICtrlCreateCheckbox("Get OS", 8, 128, 97, 17)
$B_RUN = GUICtrlCreateButton("Run", 104, 112, 75, 25)
$B_Cancel = GUICtrlCreateButton("Cancel", 192, 112, 75, 25)
$Group1 = GUICtrlCreateGroup("IP range", 8, 8, 289, 89)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $B_Cancel
            Exit
         Case $B_Run
            F_Run($IP_from_1,$IP_from_2,$IP_from_3,$IP_from_4,$IP_to_1,$IP_to_2,$IP_to_3,$IP_to_4, $C_MAC, $C_OS)
               #cs
            (make list visible)
            (Get IP list from / to)
            (get iff checked name)
            (ping from / to )
            (get iff checked MAC)
            (get iff checked OS)

               #ce
    EndSwitch
WEnd


Func F_Run ($IP_from_1,$IP_from_2,$IP_from_3,$IP_from_4,$IP_to_1,$IP_to_2,$IP_to_3,$IP_to_4, $C_MAC, $C_OS)
    Local $iI, $iTimer, $hListView


    GUICreate("Ping IP Name Mac", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState(@SW_SHOW)


    _GUICtrlListView_AddColumn($hListView, "IP", 100)
    _GUICtrlListView_AddColumn($hListView, "Ping", 100)
    _GUICtrlListView_AddColumn($hListView, "Name", 100)
    _GUICtrlListView_AddColumn($hListView, "MAC", 100)

    _GUICtrlListView_SetItemCount($hListView, 5000)


    Local $aItems[256][4]
    For $iI = 0 To UBound($aItems) - 1
        $aItems[$iI][0] = GUICtrlRead($IP_from_1 & "." & $IP_from_2 & "." & $IP_from_3 & "." & $IP_from_4) & $iI
        $aItems[$iI][1] = "Ping " & $iI
        $aItems[$iI][2] = "Name" & $iI & "-2"
        $aItems[$iI][3] = "Mac " & $iI & "-3"
    Next
    $iTimer = TimerInit()
    _GUICtrlListView_AddArray($hListView, $aItems)
    MsgBox($MB_SYSTEMMODAL, "Information", "Load time: " & TimerDiff($iTimer) / 1000 & " seconds")


    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

EndFunc

I fixed some things but when i make the new list I only get the first octet of the IP range in the list.... :S
second thing i was thinking about :

"is the way I'm aproching this the good way?"

What i mean is :

I'm just counting down till 256 (starting from 0 in some way ) :S

Not till the last " IP_TO" octet :)

please some help :)

thnx in advanced :)

(any exaple scripts will be mush apreacheded :))

Edited by FMS

as finishing touch god created the dutch

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...