Code : Tout sélectionner
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=V:\JBELLEGARDE\wilde.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs --------------------------------------------------------------------------------------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: Jérome
Script Function:
Template AutoIt script.
#ce --------------------------------------------------------------------------------------------------------------------------------------------------------
; Script Start -- Add your code below here
; Include :
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <GUIListBox.au3>
#include <GuiListView.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <Inet.au3>
#include <WindowsConstants.au3>
#include <Excel.au3>
#Include <Misc.au3>
#include <Constants.au3>
#include <GuiMenu.au3>
#include <GuiTab.au3>
;=============================================================================================================================================
; ---------------------------------------------------------- DEFINITION VARIABLE -------------------------------------------------------------
;=============================================================================================================================================
Global $i
Global $sResult
Global $IP
Global $fDblClk = False
Global Enum $idDameware = 1000, $idService
;=============================================================================================================================================
; --------------------------------------------------- FIN DEFINITION VARIABLE ----------------------------------------------------------------
;=============================================================================================================================================
; Form 1
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("By Jérôme", 616, 430, 192, 124)
Opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",1)
GUISetIcon(@ScriptDir & "\icon.ico")
TraySetIcon(@ScriptDir & "\icon.ico")
$Tab1 = GUICtrlCreateTab(0, 0, 633, 25)
GUICtrlSetOnEvent(-1, "_Tab_Switch")
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
;=============================================================================================================================================
; ----------------------------------------------------------- ONGLET 1 -----------------------------------------------------------------------
;=============================================================================================================================================
$TabSheet1 = GUICtrlCreateTabItem("List IP")
GUISetFont(8, 400, 0, "Tahoma")
$IPAddress11 = _GUICtrlIpAddress_Create($Form1, 96, 400, 130, 21)
_GUICtrlIpAddress_Set($IPAddress11, "192.168.220.102")
$IPAddress22 = _GUICtrlIpAddress_Create($Form1, 272, 400, 130, 21)
_GUICtrlIpAddress_Set($IPAddress22, "192.168.220.105")
$Label1 = GUICtrlCreateLabel("De :", 48, 400, 28, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$Label2 = GUICtrlCreateLabel("à :", 248, 400, 20, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$Button1 = GUICtrlCreateButton("Start", 432, 398, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent($Button1, "_ActionButton1")
$Button2 = GUICtrlCreateButton("Export", 520, 398, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent($Button2, "_Excel")
GUIctrlSetState($Button2, $GUI_DISABLE)
$List1 = _GUICtrlListView_Create($Form1, "", 16, 32, 580, 357)
_GUICtrlListView_InsertColumn($List1, 0, "IP", 100)
_GUICtrlListView_InsertColumn($List1, 1, "Computer Name", 100)
_GUICtrlListView_InsertColumn($List1, 2, "User Actually Connected", 200)
_GUICtrlListView_SetExtendedListViewStyle($List1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
$Lst_Handle = GUICtrlGetHandle(-1)
;=============================================================================================================================================
; -------------------------------------------------------------- FIN ONGLET 1 ----------------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; --------------------------------------------------------------- ONGLET 2 -------------------------------------------------------------------
;=============================================================================================================================================
$TabSheet2 = GUICtrlCreateTabItem("Utilitaires")
$Group1 = GUICtrlCreateGroup("IP > Poste", 8, 32, 600, 65)
$Button3 = GUICtrlCreateButton("Go", 200, 64, 59, 25, $WS_GROUP)
GUICtrlSetOnEvent($Button3, "_IPtoPC")
$Label3 = GUICtrlCreateLabel("", 292, 64, 250, 28)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$IPAddress33 = _GUICtrlIpAddress_Create($Form1, 48, 64, 130, 21)
_GUICtrlIpAddress_Set($IPAddress33, "")
$Group2 = GUICtrlCreateGroup("Poste > IP", 8, 112, 600, 65)
$Input1 = GUICtrlCreateInput("", 48, 144, 121, 21)
$Button4 = GUICtrlCreateButton("Go", 200, 144, 59, 25, $WS_GROUP)
GUICtrlSetOnEvent($Button4, "_PCtoIP")
$Label4 = GUICtrlCreateLabel("", 288, 144, 220, 28)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\jbellegarde\Bureau\lolilol.bmp", 544, 40, 60, 52)
GUICtrlSetOnEvent(-1, "_ClickImage1")
$Pic2 = GUICtrlCreatePic("C:\Documents and Settings\jbellegarde\Bureau\lolilol.bmp", 544, 120, 60, 52)
GUICtrlSetOnEvent(-1, "_ClickImage2")
GUICtrlSetState($Pic1, $GUI_HIDE)
GUICtrlSetState($Pic2, $GUI_HIDE)
;=============================================================================================================================================
; ------------------------------------------------------------- FIN ONGLET 2 -----------------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; --------------------------------------------------------------- ONGLET 3 -------------------------------------------------------------------
;=============================================================================================================================================
$TabSheet3 = GUICtrlCreateTabItem("Services")
$List2 = _GUICtrlListView_Create($Form1, "", 16, 32, 580, 357)
_GUICtrlListView_AddColumn($List2, "Servcies Name", 200)
_GUICtrlListView_AddColumn($List2, "Status", 200)
_GUICtrlListView_AddColumn($List2, "Description", 180)
_GUICtrlListView_SetExtendedListViewStyle($List2, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
$Input2 = GUICtrlCreateInput("", 24, 400, 121, 21)
$Button5 = GUICtrlCreateButton("Lister", 168, 400, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_ListerServices")
;=============================================================================================================================================
; ------------------------------------------------------------- FIN ONGLET 3 -----------------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; ------------------------------------------------------------- DEBUT STATE ------------------------------------------------------------------
;=============================================================================================================================================
WinSetState($IPAddress33, "", @SW_HIDE)
WinSetState($List2, "", @SW_HIDE)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Quitter")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Minimize")
GUIRegisterMsg($WM_NOTIFY, "_Action_Click")
GUISetState(@SW_SHOW)
$restore = TrayCreateItem("Restore")
TrayItemSetOnEvent(-1,"_Restore")
$exit = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1,"_Quitter")
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"_SpecialEvent")
TraySetState()
Opt("TrayIconHide", 1)
#EndRegion ### END Koda GUI section ###
$iLastTab = 0
Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($List1)]
Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($List2)]
;=============================================================================================================================================
; ----------------------------------------------------------FIN DEBUT STATE ------------------------------------------------------------------
;=============================================================================================================================================
While 1
sleep(100)
If _IsPressed("0D") And WinActive("By Jérôme") And GUICtrlRead($Tab1) = 0 And ControlGetFocus("By Jérôme") = "Edit5" Then
_ActionButton1()
EndIf
If _IsPressed("0D") And WinActive("By Jérôme") And GUICtrlRead($Tab1) = 1 And ControlGetFocus("By Jérôme") = "Edit9" Then
_IPtoPC()
EndIf
If _IsPressed("0D") And WinActive("By Jérôme") And GUICtrlRead($Tab1) = 1 And ControlGetFocus("By Jérôme") = "Edit13" Then
_PCtoIP()
EndIf
If _IsPressed("0D") And WinActive("By Jérôme") And GUICtrlRead($Tab1) = 2 And ControlGetFocus("By Jérôme") = "Edit14" Then
_ListerServices()
EndIf
If $fDblClk = True Then
$fDblClk = False
_DoubleClickTab1()
EndIf
WEnd
;=============================================================================================================================================
; --------------------------------------------------FONCTIONS POUR GERER LES TABLES ----------------------------------------------------------
;=============================================================================================================================================
Func _Tab_Switch()
Local $iCurrTab = GUICtrlRead($Tab1)
If $iCurrTab <> $iLastTab Then
Switch $iCurrTab
Case 0
WinSetState($IPAddress11, "", @SW_SHOW)
WinSetState($IPAddress22, "", @SW_SHOW)
WinSetState($IPAddress33, "", @SW_HIDE)
WinSetState($List1, "", @SW_SHOW)
WinSetState($List2, "", @SW_HIDE)
Case 1
WinSetState($IPAddress11, "", @SW_HIDE)
WinSetState($IPAddress22, "", @SW_HIDE)
WinSetState($IPAddress33, "", @SW_SHOW)
WinSetState($List1, "", @SW_HIDE)
WinSetState($List2, "", @SW_HIDE)
Case 2
WinSetState($IPAddress11, "", @SW_HIDE)
WinSetState($IPAddress22, "", @SW_HIDE)
WinSetState($IPAddress33, "", @SW_HIDE)
WinSetState($List1, "", @SW_HIDE)
WinSetState($List2, "", @SW_SHOW)
EndSwitch
$iLastTab = $iCurrTab
EndIf
EndFunc ;==>_Tab_Switch
;=============================================================================================================================================
; ----------------------------------------------FIN FONCTIONS POUR GERER LES TABLES ----------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; ------------------------------------------------------ FONCTION TAB 1 ----------------------------------------------------------------------
;=============================================================================================================================================
Func _ActionButton1()
$IPAddress1 = StringSplit(_GUICtrlIpAddress_Get($IPAddress11), ".")
$IPAddress2 = StringSplit(_GUICtrlIpAddress_Get($IPAddress22), ".")
GUIctrlSetState($Button1, $GUI_DISABLE)
GUIctrlSetState($Button2, $GUI_DISABLE)
Local $avArray[255][3], $j
$j = -1
_GUICtrlListView_DeleteAllItems($List1)
TCPStartup()
If @error Then Return _GUICtrlListView_AddItem($List1, 'Aucun résultats', 0)
For $i = $IPAddress1[4] To $IPAddress2[4]
If Ping($IPAddress1[1] & "." & $IPAddress1[2] & "." &$IPAddress1[3] & "." & $i, 50) Then
$IpList = $IPAddress1[1] & "." & $IPAddress1[2] & "." &$IPAddress1[3] & "." & $i
$sResult = _TCPIpToName($IpList, 0)
$j = $j + 1
If $sResult = "" Then
$sResult = "No Name"
$user = "Nobody"
Else
$string = ".intranet.dialog.local.com"
If StringRight($sResult, 26) = $string Then
$sResult = stringTrimRight($sResult, 26)
EndIf
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& $IpList & "\root\cimv2")
If @error Then
$user = "Nobody"
Else
$colComputers = $objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For $objComputer in $colComputers
$user = $objComputer.UserName
Next
EndIf
EndIf
_GUICtrlListView_AddItem($List1, $IpList, $j)
_GUICtrlListView_AddSubItem($List1, $j, $sResult, 1)
_GUICtrlListView_AddSubItem($List1, $j, $user, 2)
EndIf
Next
GUIctrlSetState($Button1, $GUI_ENABLE)
GUIctrlSetState($Button2, $GUI_ENABLE)
EndFunc ;==>_ActionButton1
Func _Excel()
$oExcel = _ExcelBookNew()
$iItems = _GUICtrlListView_GetItemCount($List1)
For $iItem = 0 To $iItems--1
$Zf = _GUICtrlListView_GetItemTextString($List1, $iItem)
$Zf = StringSplit($Zf, "|", 1)
_ExcelWriteArray($oExcel, $iItem + 1, 1, $Zf, 0, 1)
Next
EndFunc ;==>_Excel
Func _DoubleClickTab1()
$SelIndexItem = _GUICtrlListView_GetSelectedIndices($List1) +0
$SelIndex = _GUICtrlListView_GetItem($List1, $SelIndexItem)
_Dameware($SelIndex[3])
EndFunc;==> _DoubleClickTab1
Func _RightClickTab1()
$SelIndexItem2 = _GUICtrlListView_GetSelectedIndices($List1) +0
$SelIndex2 = _GUICtrlListView_GetItem($List1, $SelIndexItem2) ;$SelIndex2[3] contient la valeur IP de la listview selectionner
Local $aHit
$aHit = _GUICtrlListView_SubItemHitTest($List1)
If ($aHit[0] <> -1) Then
$hMenu = _GUICtrlMenu_CreatePopup()
_GUICtrlMenu_AddMenuItem($hMenu, "Dameware", $idDameware)
_GUICtrlMenu_AddMenuItem($hMenu, "Service", $idService)
Switch _GUICtrlMenu_TrackPopupMenu($hMenu, $List1, -1, -1, 1, 1, 2)
Case $idDameware
_Dameware($SelIndex2[3])
Case $idService
$Mouse = MouseGetPos()
_GUICtrlTab_ClickTab($Tab1, 2)
MouseClick("left")
MouseMove($Mouse[0], $Mouse[1], 0)
GUICtrlSetData($Input2, $SelIndex2[3])
_ListerServices()
EndSwitch
_GUICtrlMenu_DestroyMenu($hMenu)
EndIf
EndFunc;==> _RightClickTab1
;=============================================================================================================================================
; ------------------------------------------------------FIN FONCTION TAB 1 -------------------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; ----------------------------------------------------- FONCTION TAB 2 -----------------------------------------------------------------------
;=============================================================================================================================================
Func _IPtoPC()
TCPStartup()
$IPAddress3 = StringSplit(_GUICtrlIpAddress_Get($IPAddress33), ".")
If Ping($IPAddress3[1] & "." & $IPAddress3[2] & "." & $IPAddress3[3] & "." & $IPAddress3[4], 50) > 0 Then
$IpList = $IPAddress3[1] & "." & $IPAddress3[2] & "." &$IPAddress3[3] & "." & $IPAddress3[4]
$sResult = _TCPIpToName($IpList, 0)
GUICtrlSetData($Label3, $sResult)
GUICtrlSetState($Pic1, $GUI_SHOW)
Else
GUICtrlSetData($Label3, "Pas de réponse")
GUICtrlSetState($Pic1, $GUI_HIDE)
EndIf
TCPShutdown()
EndFunc ;==>_IPtoPC
Func _PCtoIP()
TCPStartUp()
$IpofComputer = Guictrlread($Input1)
If $IpofComputer = "" Then
MsgBox(16,"Erreur de saisit","Veuillez saisir une donnée.")
Else
$IP = TCPNameToIP ($IpofComputer)
If $IP = "63.251.207.31" Then
GUICtrlSetData($Label4, "Non Trouvé")
GUICtrlSetState($Pic2, $GUI_HIDE)
Else
GUICtrlSetData($Label4, $IP)
GUICtrlSetState($Pic2, $GUI_SHOW)
EndIf
EndIf
TCPShutdown()
EndFunc ;==>_PCtoIP
Func _ClickImage1()
_Dameware($sResult)
EndFunc ;==>_ClickImage1
Func _ClickImage2()
_Dameware($IP)
EndFunc ;==>_ClickImage2
;=============================================================================================================================================
; -------------------------------------------------------FIN FONCTION TAB 2 ------------------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; ----------------------------------------------------- FONCTION TAB 3 -----------------------------------------------------------------------
;=============================================================================================================================================
Func _ListerServices()
TCPStartUp()
_GUICtrlListView_DeleteAllItems($List2)
$strComputer = Guictrlread($Input2)
If $strComputer = "" Then
MsgBox(16,"Erreur de saisit","Veuillez saisir une donnée.")
Else
$IP = TCPNameToIP ($strComputer)
If $IP = "63.251.207.31" Then
_GUICtrlListView_AddItem($List2, "Hôte injoignable.", 0)
Else
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colProcessList = $objWMIService.ExecQuery("Select * from Win32_Service")
Local $j = -1
For $objProcess In $colProcessList
$services = $objProcess.Caption
$status = $objProcess.State
$Description = $objProcess.Description
$j = $j + 1
_GUICtrlListView_AddItem($List2, $services, $j)
_GUICtrlListView_AddSubItem($List2, $j, $status, 1)
_GUICtrlListView_AddSubItem($List2, $j, $Description, 2)
Next
EndIf
EndIf
TCPShutdown()
EndFunc ;==>_ListerServices
Func _DoubleClickTab3()
$SelIndexItem3 = _GUICtrlListView_GetSelectedIndices($List2) +0
$SelIndex3 = _GUICtrlListView_GetItem($List2, $SelIndexItem3)
global $Form2 = GUICreate("Action à réaliser", 333, 159, 327, 268)
$Label12 = GUICtrlCreateLabel("Vous avez sélectionner le service : ", 16, 16, 171, 17)
$Label22 = GUICtrlCreateLabel("", 16, 40, 308, 20)
$Label32 = GUICtrlCreateLabel("Action : ", 16, 80, 43, 17)
$Combo12 = GUICtrlCreateCombo("", 64, 80, 60, 25)
GUICtrlSetData(-1, "Start|Stop|Restart")
$Button32 = GUICtrlCreateButton("Lancer", 224, 80, 89, 25, $WS_GROUP)
$Button42 = GUICtrlCreateButton("Fermer", 224, 110, 89, 25, $WS_GROUP)
GUISetState()
GUICtrlSetData($Label22, $SelIndex3[3])
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($Form2)
ExitLoop
Case $Button42
GUIDelete($Form2)
ExitLoop
EndSwitch
WEnd
EndFunc;==>_DoubleClickTab3
;=============================================================================================================================================
; ----------------------------------------------------- FIN FONCTION TAB 3 -------------------------------------------------------------------
;=============================================================================================================================================
;=============================================================================================================================================
; -------------------------------------------------------DEFINITION ENVIRONNEMENT ------------------------------------------------------------
;=============================================================================================================================================
Func _Minimize()
GUISetState(@SW_HIDE,$Form1)
Opt("TrayIconHide", 0)
EndFunc ;==>_Minimize
Func _SpecialEvent()
Select
Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOUBLE
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
Opt("TrayIconHide", 1)
EndSelect
EndFunc ;==>_SpecialEvent
Func _Restore()
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
Opt("TrayIconHide", 1)
EndFunc ;==>_Restore
Func _Quitter()
Exit
EndFunc ;==>_quitter
Func _Action_Click($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $iwParam
Local $iCurrTab = GUICtrlRead($Tab1)
Switch $iCurrTab
Case 0
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
$hWndListView = $list1
If Not IsHWnd($list1) Then $hWndListView = GUICtrlGetHandle($list1)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $iCode
Case $NM_RCLICK
_RightClickTab1()
Case $NM_DBLCLK
_DoubleClickTab1()
Case $LVN_COLUMNCLICK
$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
_GUICtrlListView_SimpleSort($list1, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
EndSwitch
Return $GUI_RUNDEFMSG
Case 2
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
$hWndListView = $list1
If Not IsHWnd($list1) Then $hWndListView = GUICtrlGetHandle($list1)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $iCode
Case $NM_RCLICK
MsgBox("","","")
Case $NM_DBLCLK
_DoubleClickTab3()
Case $LVN_COLUMNCLICK
$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
_GUICtrlListView_SimpleSort($list2, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
EndSwitch
Return $GUI_RUNDEFMSG
EndSwitch
EndFunc ;==>_Action_Click
Func _Dameware($val)
MsgBox("","","Ou pas")
EndFunc
;=============================================================================================================================================
; ------------------------------------------------------FIN DEFINITION ENVIRONNEMENT ---------------------------------------------------------
;=============================================================================================================================================