soooo ich wollte mal ein kleines tool schreiben mit dem man sehen kann wer denn so im netzwerk online ist, hab ich auch gemacht xD allerdings mit ping was das programm ziemlich verlangsamt wegen dem timeout: wens trotzdem interressiert:
#include
#include
#include
#Include
AutoItSetOption("TrayIconHide", 1)
Opt("GUIOnEventMode", 1)
GUICreate( "Ping results", 320, 300, 100, 100)
$ping = GUICtrlCreateButton( "Ping!", 10, 250, 100, 25)
$OK = GUICtrlCreateButton( "Exit", 150, 250, 100, 25)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI_Exit")
GUICtrlSetOnEvent($OK, "GUI_Exit")
GUICtrlSetOnEvent($ping, "ping_all")
RegWrite( "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Messenger", "Start", "REG_DWORD", "3")
FileWriteLine("C:\dienst.bat", "net start > C:\services.txt")
FileWriteLine("C:\dienst.bat", "Exit")
run("C:\dienst.bat", "", @SW_HIDE)
sleep(1000)
Dim $aRecords
If Not _FileReadToArray("C:\services.txt",$aRecords) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
For $x = 1 to $aRecords[0]
$search = "Nachrichtendienst"
$search2 = "Messenger"
$Pos = _ArraySearch ($aRecords, $search, 0, 0, 0, True)
$Pos2 = _ArraySearch ($aRecords, $search2, 0, 0, 0, True)
Select
Case $Pos = -1
FileWriteLine( "C:\dienst_start.bat", "net start Nachrichtendienst")
FileWriteLine( "C:\dienst_start.bat", "pause")
run ( "C:\dienst_start.bat", "", @SW_HIDE)
sleep(2000)
FileDelete( "C:\dienst_start.bat")
Select
Case $Pos2 = -1
FileWriteLine( "C:\dienst_start.bat", "net start Messenger")
FileWriteLine( "C:\dienst_start.bat", "pause")
run ( "C:\dienst_start.bat", "", @SW_HIDE)
sleep(2000)
FileDelete( "C:\dienst_start.bat")
Case Else
ExitLoop
EndSelect
Case Else
ExitLoop
EndSelect
Next
FileDelete( "C:\dienst.bat")
FileDelete( "C:\services.txt")
Func message_buttons()
$button_left = 155
$button_top = 5
$button_width = 105
$button_height = 15
$ping_1_message = GUICtrlCreateButton( "Send Message to all", $button_left, 5, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_1_message,"ping1_message")
$ping_2_message = GUICtrlCreateButton( "Send Message", $button_left, 5+20, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_2_message,"ping2_message")
$ping_3_message = GUICtrlCreateButton( "Send Message", $button_left, 5+40, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_3_message,"ping3_message")
$ping_4_message = GUICtrlCreateButton( "Send Message", $button_left, 5+60, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_4_message,"ping4_message")
$ping_5_message = GUICtrlCreateButton( "Send Message", $button_left, 5+80, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_5_message,"ping5_message")
$ping_6_message = GUICtrlCreateButton( "Send Message", $button_left, 5+100, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_6_message,"ping6_message")
$ping_7_message = GUICtrlCreateButton( "Send Message", $button_left, 5+120, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_7_message,"ping7_message")
$ping_8_message = GUICtrlCreateButton( "Send Message", $button_left, 5+140, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_8_message,"ping8_message")
$ping_9_message = GUICtrlCreateButton( "Send Message", $button_left, 5+160, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_9_message,"ping9_message")
$ping_10_message = GUICtrlCreateButton( "Send Message", $button_left, 5+180, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_10_message,"ping10_message")
$ping_11_message =GUICtrlCreateButton( "Send Message", $button_left, 5+200, $button_width, $button_height)
GUICtrlSetOnEvent( $ping_11_message,"ping11_message")
EndFunc
message_buttons()
Func open_buttons()
$button_open_left = 270
$button_open_top = 5
$button_open_width = 40
$button_open_height = 15
$ping_2_open = GUICtrlCreateButton( "Open", $button_open_left, 5+20, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_2_open,"ping2_open")
$ping_3_open = GUICtrlCreateButton( "Open", $button_open_left, 5+40, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_3_open,"ping3_open")
$ping_4_open = GUICtrlCreateButton( "Open", $button_open_left, 5+60, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_4_open,"ping4_open")
$ping_5_open = GUICtrlCreateButton( "Open", $button_open_left, 5+80, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_5_open,"ping5_open")
$ping_6_open = GUICtrlCreateButton( "Open", $button_open_left, 5+100, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_6_open,"ping6_open")
$ping_7_open = GUICtrlCreateButton( "Open", $button_open_left, 5+120, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_7_open,"ping7_open")
$ping_8_open = GUICtrlCreateButton( "Open", $button_open_left, 5+140, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_8_open,"ping8_open")
$ping_9_open = GUICtrlCreateButton( "Open", $button_open_left, 5+160, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_9_open,"ping9_open")
$ping_10_open = GUICtrlCreateButton( "Open", $button_open_left, 5+180, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_10_open,"ping10_open")
$ping_11_open =GUICtrlCreateButton( "Open", $button_open_left, 5+200, $button_open_width, $button_open_height)
GUICtrlSetOnEvent($ping_11_open,"ping11_open")
EndFunc
open_buttons()
;IPs
$ping_1_IP = "192.168.0.1"
$ping_2_IP = "192.168.0.2"
$ping_3_IP = "192.168.0.3"
$ping_4_IP = "192.168.0.4"
$ping_5_IP = "192.168.0.5"
$ping_6_IP = "192.168.0.6"
$ping_7_IP = "192.168.0.7"
$ping_8_IP = "192.168.0.8"
$ping_9_IP = "192.168.0.9"
$ping_10_IP = "192.168.0.10"
$ping_11_IP ="192.168.0.11"
;Names
$ping_1_name = "Router"
$ping_2_name = "PC Wolfgang"
$ping_3_name = "PC Hobbyraum"
$ping_4_name = "PC Desiree"
$ping_5_name = ""
$ping_6_name = ""
$ping_7_name = "PC Margrit"
$ping_8_name = ""
$ping_9_name = "PC Benno/Irina"
$ping_10_name = ""
$ping_11_name =""
Func GUI_Exit()
FileDelete("C:\net_send.bat")
Exit
EndFunc
Func ping_all()
GUICtrlSetData( $ping, "Bitte warten")
$tabel1_left = 10
$tabel1_top = 10
$tabel1_widh = 140
$tabel1_height = 15
;Labels
$ping_1_on = GUICtrlCreateLabel( "", $tabel1_left, 5, $tabel1_widh, $tabel1_height)
$ping_2_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height, $tabel1_widh, $tabel1_height)
$ping_3_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 20, $tabel1_widh, $tabel1_height)
$ping_4_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 40, $tabel1_widh, $tabel1_height)
$ping_5_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 60, $tabel1_widh, $tabel1_height)
$ping_6_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 80, $tabel1_widh, $tabel1_height)
$ping_7_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 100, $tabel1_widh, $tabel1_height)
$ping_8_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 120, $tabel1_widh, $tabel1_height)
$ping_9_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 140, $tabel1_widh, $tabel1_height)
$ping_10_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 160, $tabel1_widh, $tabel1_height)
$ping_11_on =GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 180, $tabel1_widh, $tabel1_height)
$ping_1 = ping($ping_1_IP,2000)
$ping_1_on = GUICtrlCreateLabel( "", $tabel1_left, 5, $tabel1_widh, $tabel1_height)
If $ping_1 Then
GUICtrlSetData( $ping_1_on, $ping_1_name&" online")
GUICtrlSetBkColor($ping_1_on,0x00ff00)
Else
GUICtrlSetData( $ping_1_on, $ping_1_name&" offline")
GUICtrlSetBkColor($ping_1_on,0xFA4646)
EndIf
$ping_2 = ping($ping_2_IP,2000)
$ping_2_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height, $tabel1_widh, $tabel1_height)
If $ping_2 Then
GUICtrlSetData( $ping_2_on, $ping_2_name&" online")
GUICtrlSetBkColor($ping_2_on,0x00ff00)
Else
GUICtrlSetData( $ping_2_on, $ping_2_name&" offline")
GUICtrlSetBkColor($ping_2_on,0xFA4646)
EndIf
$ping_3 = ping($ping_3_IP,2000)
$ping_3_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 20, $tabel1_widh, $tabel1_height)
If $ping_3 Then
GUICtrlSetData( $ping_3_on, $ping_3_name&" online")
GUICtrlSetBkColor($ping_3_on,0x00ff00)
Else
GUICtrlSetData( $ping_3_on, $ping_3_name&" offline")
GUICtrlSetBkColor($ping_3_on,0xFA4646)
EndIf
$ping_4 = ping($ping_4_IP,2000)
$ping_4_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 40, $tabel1_widh, $tabel1_height)
If $ping_4 Then
GUICtrlSetData( $ping_4_on, $ping_4_name&" online")
GUICtrlSetBkColor($ping_4_on,0x00ff00)
Else
GUICtrlSetData( $ping_4_on, $ping_4_name&" offline")
GUICtrlSetBkColor($ping_4_on,0xFA4646)
EndIf
$ping_5 = ping($ping_5_IP,2000)
$ping_5_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 60, $tabel1_widh, $tabel1_height)
If $ping_5 Then
GUICtrlSetData( $ping_5_on, $ping_5_name&" online")
GUICtrlSetBkColor($ping_5_on,0x00ff00)
Else
GUICtrlSetData( $ping_5_on, $ping_5_name&" offline")
GUICtrlSetBkColor($ping_5_on,0xFA4646)
EndIf
$ping_6 = ping($ping_6_IP,2000)
$ping_6_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 80, $tabel1_widh, $tabel1_height)
If $ping_6 Then
GUICtrlSetData( $ping_6_on, $ping_6_name&" online")
GUICtrlSetBkColor($ping_6_on,0x00ff00)
Else
GUICtrlSetData( $ping_6_on, $ping_6_name&" offline")
GUICtrlSetBkColor($ping_6_on,0xFA4646)
EndIf
$ping_7 = ping($ping_7_IP,2000)
$ping_7_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 100, $tabel1_widh, $tabel1_height)
If $ping_7 Then
GUICtrlSetData( $ping_7_on, $ping_7_name&" online")
GUICtrlSetBkColor($ping_7_on,0x00ff00)
Else
GUICtrlSetData( $ping_7_on, $ping_7_name&" offline")
GUICtrlSetBkColor($ping_7_on,0xFA4646)
EndIf
$ping_8 = ping($ping_8_IP,2000)
$ping_8_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 120, $tabel1_widh, $tabel1_height)
If $ping_8 Then
GUICtrlSetData( $ping_8_on, $ping_8_name&" online")
GUICtrlSetBkColor($ping_8_on,0x00ff00)
Else
GUICtrlSetData( $ping_8_on, $ping_8_name&" offline")
GUICtrlSetBkColor($ping_8_on,0xFA4646)
EndIf
$ping_9 = ping($ping_9_IP,2000)
$ping_9_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 140, $tabel1_widh, $tabel1_height)
If $ping_9 Then
GUICtrlSetData( $ping_9_on, $ping_9_name&" online")
GUICtrlSetBkColor($ping_9_on,0x00ff00)
Else
GUICtrlSetData( $ping_9_on, $ping_9_name&" offline")
GUICtrlSetBkColor($ping_9_on,0xFA4646)
EndIf
$ping_10 = ping($ping_10_IP,2000)
$ping_10_on = GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 160, $tabel1_widh, $tabel1_height)
If $ping_10 Then
GUICtrlSetData( $ping_10_on, $ping_10_name&" online")
GUICtrlSetBkColor($ping_10_on,0x00ff00)
Else
GUICtrlSetData( $ping_10_on, $ping_10_name&" offline")
GUICtrlSetBkColor($ping_10_on,0xFA4646)
EndIf
$ping_11 = ping($ping_11_IP,2000)
$ping_11_on =GUICtrlCreateLabel( "", $tabel1_left, $tabel1_top + $tabel1_height + 180, $tabel1_widh, $tabel1_height)
If $ping_11 Then
GUICtrlSetData( $ping_11_on, $ping_11_name&" online")
GUICtrlSetBkColor($ping_11_on,0x00ff00)
Else
GUICtrlSetData( $ping_11_on, $ping_11_name&" offline")
GUICtrlSetBkColor($ping_11_on,0xFA4646)
EndIf
GUICtrlSetData( $ping, "Ping!")
EndFunc
Func ping1_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send * "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping2_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_2_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping3_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_3_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping4_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_4_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping5_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_5_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping6_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_6_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping7_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_7_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping8_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_8_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping9_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_9_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping10_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_10_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping11_message()
$message = InputBox( "Your Message", "Type here your message:")
FileDelete( "C:\net_send.bat")
FileWriteLine( "C:\net_send.bat", "net send "&$ping_11_IP&" "&$message)
FileWriteLine( "C:\net_send.bat", "Exit")
run( "C:\net_send.bat","" , @SW_HIDE)
EndFunc
Func ping2_open()
run( "explorer.exe \\"&$ping_2_IP&"\")
EndFunc
Func ping3_open()
run( "explorer.exe \\"&$ping_3_IP&"\")
EndFunc
Func ping4_open()
run( "explorer.exe \\"&$ping_4_IP&"\")
EndFunc
Func ping5_open()
run( "explorer.exe \\"&$ping_5_IP&"\")
EndFunc
Func ping6_open()
run( "explorer.exe \\"&$ping_6_IP&"\")
EndFunc
Func ping7_open()
run( "explorer.exe \\"&$ping_7_IP&"\")
EndFunc
Func ping8_open()
run( "explorer.exe \\"&$ping_8_IP&"\")
EndFunc
Func ping9_open()
run( "explorer.exe \\"&$ping_9_IP&"\")
EndFunc
Func ping10_open()
run( "explorer.exe \\"&$ping_10_IP&"\")
EndFunc
Func ping11_open()
run( "explorer.exe \\"&$ping_11_IP&"\")
EndFunc
While 1
WEnd
Also hab ich mir gedacht, wiso nicht die DOS funktion net view benutzen und die Ausgabe in eine datei umleiten, diese Datei wird dann mit _ReadtoArray in ein Array eingelesen und es wird nach \\ zeichen gesucht (_ArraySearch) da dieses ja die PCs sind, das ganze geht zwar auch aber er zeigt mir immer nur den obersten Rechner an und da hab ich schon mein problem ist es eine variable mit der ich die Suchergebnisse definieren kann oder sowas? Ich habe das ganze, wenn auch umständlich seeeeeeeeehr umständlich so gelöst:
#include
#include
#include
#Include
;AutoItSetOption("TrayIconHide", 1)
Opt("GUIOnEventMode", 1)
Dim $aResult
FileWriteLine("C:\net_view.bat", "net view > C:\net_view.txt")
FileWriteLine("C:\net_view.bat", "Exit")
run( "C:\net_view.bat")
sleep(1000)
_FileReadToArray("C:\net_view.txt", $aResult)
$posi1 = _ArraySearch( $aResult, "\\", 0, 0, 1, True)
If $posi1 <> -1 Then
$result1 = FileReadLine( "C:\net_view.txt", $posi1)
$posi2 = _ArraySearch( $aResult, "\\", $posi1+1, 0, 0, True)
MsgBox(0, "Error1", $result1)
Else
MsgBox(0, "Error", "No more \\ are found")
EndIf
If $posi2 <> -1 Then
$result2 = FileReadLine( "C:\net_view.txt", $posi2)
$posi3 = _ArraySearch( $aResult, "\\", $posi2+1, 0, 0, True)
MsgBox(0, "Error2", $result2)
Else
MsgBox(0, "Error", "No more \\ are found")
EndIf
If $posi3 <> -1 Then
$result3 = FileReadLine( "C:\net_view.txt", $posi3)
$posi4 = _ArraySearch( $aResult, "\\", $posi3+1, 0, 0, True)
MsgBox(0, "Error3", $result3)
Else
MsgBox(0, "Error", "No more \\ are found")
EndIf
If $posi4 <> -1 Then
$result4 = FileReadLine( "C:\net_view.txt", $posi4)
MsgBox(0, "Error4", $result4)
Else
MsgBox(0, "Error", "No more \\ are found")
EndIf
(MsgBox nur zum darstellen )
Er sucht quasi "\\" und wenn er es gefunden hat sucht er da weiter wo er aufgehört hat $posi1+1
Wahrscheinlich hab ich nur irgendwas in der Hilfe übersehen (hab sowas noch nie vorher gemacht) oder ich benutze die vollkommen falschen funktionen aber googeln und forum hat mir nich viel gebracht denn die frage wie etwas in ner datei gesucht wird, wird ja oft gestellt aber die wollen halt immer nur EIN suchergebnis haben
Wär nett wenn ihr mir irgendwie helfen könnt
MFG Fire