Hallo ![]()
ich habe ein kleines Script geschrieben gehabt, welches einen bestimmten Range im Ip Netzwerk anpingt und ausgiebt ob die Rechner on oder off sind. Funktioniert auch bisher soweit (bisher nur für 192.168.XXX.XXX gedacht), jedoch komme ich beim GUI noch nicht so mit der Image List klar. Irgendwie hat die ganze Liste immer eine Farbe und ist nicht abhängig von On (grün) oder off (rot).
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
Global $hImage
Global $hListView
;~ GUI
$Form1 = GUICreate("Vergebene IP Adressen", 328, 438, 192, 124)
;~ Beschriftungen
$Label1 = GUICtrlCreateLabel("Range", 32, 8, 108, 17)
$Label2 = GUICtrlCreateLabel("bis", 155, 24, 28, 17)
;~ IP-Adressen
$IPAddress1 = _GUICtrlIpAddress_Create($Form1, 32, 24, 105, 17)
_GUICtrlIpAddress_Set($IPAddress1, "192.168.178.15")
$IPAddress2 = _GUICtrlIpAddress_Create($Form1, 185, 24, 105, 17)
_GUICtrlIpAddress_Set($IPAddress2, "192.168.178.25")
;~ Liste
$hListView = _GUICtrlListView_Create($Form1, "", 32, 96, 257, 305)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
GUISetState()
;~ Buttons
$Start = GUICtrlCreateButton("Start", 32, 56, 105, 25)
$Stop = GUICtrlCreateButton("Stop", 184, 56, 105, 25)
GUISetState(@SW_SHOW)
_GUICtrlListView_InsertColumn($hListView, 0, "Status", 20)
_GUICtrlListView_InsertColumn($hListView, 1, "IP",140 )
_GUICtrlListView_InsertColumn($hListView, 2, "Status", 70)
$msg=0
[/autoit] [autoit][/autoit] [autoit]While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
If $msg = $Start Then
$IP1 = _GUICtrlIpAddress_GetArray($IPAddress1)
$IP2 = _GUICtrlIpAddress_GetArray($IPAddress2)
Local $count=0
While $IP1[3]<=$IP2[3]
$Ipscan = $IP1[0]& "."& $IP1[1]&"."&$IP1[2]&"."&$IP1[3]
$ping = Ping(""& $IPscan, 20)
$hImage = _GUIImageList_Create()
_GUICtrlListView_SetImageList($hListView, $hImage, 1)
If $ping = 0 Then
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
_GUICtrlListView_SetImageList($hListView, $hImage, 1)
_GUICtrlListView_AddItem($hListView, "", 0)
_GUICtrlListView_AddSubItem($hListView, $count , "" & $IPscan, 1)
_GUICtrlListView_AddSubItem($hListView, $count , "offline", 2)
Else
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
_GUICtrlListView_SetImageList($hListView, $hImage, 1)
_GUICtrlListView_AddItem($hListView, "" , 0)
_GUICtrlListView_AddSubItem($hListView, $count , "" & $IPscan, 1)
_GUICtrlListView_AddSubItem($hListView, $count , "online", 2)
EndIf
$IP1[3] = $IP1[3]+1
$count = $count+1
WEnd
EndIf
WEnd
Exit
Bitte peinigt mich nicht gleich wenn ich ganz schlecht geschrieben haben :X Ich habe auch ein wenig aus den Hilfedateien zusammengestückelt. Jeder Anfang ist schwer ![]()
Grüße