#include #include #include #include #include #include #include #include ;Global $hGuiAddServer = 9999 ; Dummystring Local $aServers = IniReadSection (@ScriptDir & "\Servers.ini", "Servers") ; Create Main GUI and TabControl $Form1 = GUICreate("IT Tools", 365, 553,@DesktopWidth - 380,@DesktopHeight - 1195) $PageControl1 = GUICtrlCreateTab(8, 8, 350, 539) ; Servers Tab------------------------------------------------------------------------------------------------------------------------ $Servers = GUICtrlCreateTabItem("Servers") $listview_srv = GUICtrlCreateListView("Server|IP", 20, 49, 222, 482, $LVS_SINGLESEL,$LVS_EX_GRIDLINES+$LVS_SORTDESCENDING) _GuiCtrlListView_SetColumnWidth($listview_srv,0,130) _GuiCtrlListView_SetColumnWidth($listview_srv,1,88) ;_GUICtrlListView_HideColumn($listview_srv, 2) GetServers() $btn_srv_AddServer = GUICtrlCreateButton("Add Server", 252, 51, 92, 25) GUICtrlSetOnEvent(-1, "AddServer") $btn_srv_RemoveServer = GUICtrlCreateButton("Remove Server", 252, 81, 94, 25) GUICtrlSetOnEvent(-1, "RemoveServer") $btn_srv_RefreshList = GUICtrlCreateButton("Refresh List", 252, 113, 94, 25) GUICtrlSetOnEvent(-1, "RefreshServer") $btn_srv_Connect = GUICtrlCreateButton("Connect", 252, 145, 94, 25) GUICtrlSetOnEvent(-1, "ConnectToServer") $btn_srv_Ping = GUICtrlCreateButton("Ping", 252, 178, 94, 25) GUICtrlSetOnEvent(-1, "PingServer") ; Main GUI Control------------------------------------------------------------------------------------------------------------------- GUICtrlSetFont(-1, 8, 400, 0, "Arial") GUICtrlCreateTabItem("") GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $btn_srv_AddServer addServer() Case $btn_srv_RefreshList RefreshServer() Case $btn_srv_RemoveServer RemoveServer() Case $btn_srv_Connect ConnectToServer() Case $btn_srv_Ping PingServer() EndSwitch WEnd ; Add Server ------------------------------------------------------------------------------------------------------------------ Func addServer () $hGuiAddServer = GUICreate ("Add Server", 100, 100, 100, 100) $NewServer = InputBox ("Add Server","Please type hostename","","","","",@DesktopWidth - 1100,@DesktopHeight - 800,"",$hGuiAddServer) TCPStartup() $ipAddress = TCPNameToIP ($NewServer) TCPShutdown() if Not $NewServer="" Then IniWrite (@ScriptDir & "\Servers.ini", "Servers", $NewServer, $ipAddress) EndIf While 2 $sMsg = GUIGetMsg($NewServer) Switch $sMsg Case $GUI_EVENT_CLOSE GUICtrlDelete($hGuiAddServer) EndSwitch ExitLoop WEnd _GUICtrlListView_DeleteAllItems($listview_srv) $sItem_srv = GUICtrlRead(GUICtrlRead($listview_srv)) GetServers() EndFunc ; Remove Server -------------------------------------------------------------------------------------------------------------------- Func RemoveServer() Local $sItem_srv = GUICtrlRead(GUICtrlRead($listview_srv)) Local $iniRead = IniReadSection (@ScriptDir & "\Servers.ini", "Servers") ;MsgBox (0, "",""&$sItem_srv&"") if not @error Then For $i = 1 To $iniRead[0][0] MsgBox (0,"List Hosts","Hostname: " & $iniRead[$i][0] & @CRLF & "IP: " & $iniRead[$i][1]) Next EndIf ;IniDelete ("C:\it\Servers.ini","Servers",$sItem_srv) _GUICtrlListView_DeleteAllItems($listview_srv) $sItem_srv = GUICtrlRead(GUICtrlRead($listview_srv)) GetServers() EndFunc ; Connect to Server --------------------------------------------------------------------------------------------------------------- Func ConnectToServer() $sItem_srv = GUICtrlRead(GUICtrlRead($listview_srv)) if $sItem_srv = "" Then MsgBox(0, "Connect to Server or Host","Please choose a host") Else $Host = StringSplit($sItem_srv,"|",1) MsgBox(0,"",$Host) ShellExecute("mstsc.exe","/admin /v "&$sItem_srv) EndIf EndFunc ; Refresh Serverlist ------------------------------------------------------------------------------------------------------------- Func RefreshServer() _GUICtrlListView_DeleteAllItems($listview_srv) $sItem_srv = GUICtrlRead(GUICtrlRead($listview_srv)) GetServers() EndFunc ; Get Servers from ini file -------------------------------------------------------------------------------------------------- Func GetServers() Local $aServers = IniReadSection (@ScriptDir & "\Servers.ini", "Servers") If Not @error Then For $i = 1 To $aServers[0][0] GUICtrlCreateListViewItem($aServers[$i][0] & '|' & $aServers[$i][1], $listview_srv) ;GUICtrlSetOnEvent(-1, '_ListViewHandler') Next EndIf EndFunc ; Ping Server -------------------------------------------------------------------------------------------------- Func PingServer() $sItem_srv = GUICtrlRead(GUICtrlRead($listview_srv)) $sItem_srv = StringTrimRight($sItem_srv, 3) Local $iPing = Ping ($sItem_srv) ShellExecute("C:\Windows\System32\cmd.exe",$iPing) EndFunc