Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiComboBoxEx.au3>
$IP_Clients = 0
$Mem_Combo_Clients = 0
$init = 0
$Combo_List = 1
Dim $aCombo[31]
$Combo_List_search = 1
$init = 0
#Region ### START Koda GUI section ### Form=c:\users\blondel\desktop\projet changeur d'ip automatique\koda\autoip_v1.kxf
$AUTOIP = GUICreate("Changeur d'IP automatique", 632, 529, -1, -1, -1, BitOR($WS_EX_TRANSPARENT,$WS_EX_WINDOWEDGE))
GUISetIcon("C:\Users\blondel\Desktop\ip-icon.ico", -1)
GUISetCursor (2)
GUISetBkColor(0x99B4D1)
$BP_DHCP = GUICtrlCreateButton("DHCP", 248, 88, 113, 25)
GUICtrlSetColor(-1, 0x000000)
$Group_Actual_IP = GUICtrlCreateGroup("Votre IP Actuelle", 8, 8, 177, 57)
GUICtrlSetColor(-1, 0x000000)
$Actuelle_IP = GUICtrlCreateLabel("", 16, 32, 58, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$BP_GO_2 = GUICtrlCreateButton("Go", 40, 192, 113, 25)
GUICtrlSetColor(-1, 0x000000)
$BP_GO_1 = GUICtrlCreateButton("Go", 40, 120, 113, 25)
GUICtrlSetColor(-1, 0x000000)
$BP_GO_3 = GUICtrlCreateButton("Go", 248, 192, 113, 25)
GUICtrlSetColor(-1, 0x000000)
$IPAddress1 = _GUICtrlIpAddress_Create($AUTOIP, 32, 88, 130, 21)
_GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
$IPAddress2 = _GUICtrlIpAddress_Create($AUTOIP, 32, 160, 130, 21)
_GUICtrlIpAddress_Set($IPAddress2, "0.0.0.0")
$IPAddress3 = _GUICtrlIpAddress_Create($AUTOIP, 240, 160, 130, 21)
_GUICtrlIpAddress_Set($IPAddress3, "0.0.0.0")
$Group_Name_Ethernet = GUICtrlCreateGroup("Nom de la carte Ethernet", 216, 8, 177, 57)
GUICtrlSetColor(-1, 0x000000)
$Input_Ethernet=GUICtrlCreateInput("", 232, 32, 145, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Combo_Clients = GUICtrlCreateCombo("", 232, 128, 145, 50, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL,$WS_HSCROLL))
GUICtrlSetColor(-1, 0x000000)
$BP_Save_Clients = GUICtrlCreateButton("Sauvegarde clients", 264, 232, 113, 25)
GUICtrlSetColor(-1, 0x000000)
$Input_Clients = GUICtrlCreateInput("", 40, 232, 217, 21)
GUICtrlSetColor(-1, 0x000000)
$Label2 = GUICtrlCreateLabel("Label2", 64, 272, 36, 17)
GUICtrlSetColor(-1, 0x000000)
$Label3 = GUICtrlCreateLabel("Label3", 64, 304, 36, 17)
GUICtrlSetColor(-1, 0x000000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Func Terminate()
    Exit
EndFunc   ;==>Terminate
Func MAJ_Combo()
$Combo_List = 1
While $Combo_List <= (UBound($aCombo)-1)
	$aCombo[$Combo_List] = IniRead(@MyDocumentsDir & "\Save.ini", "Combo", $Combo_List,"")
	If $aCombo[$Combo_List] = "" Then
	   $aCombo[$Combo_List] = $Combo_List
	EndIf
	GUICtrlSetData($Combo_Clients,$aCombo[$Combo_List])
	$Combo_List = $Combo_List + 1
   Wend
EndFunc
HotKeySet ("{END}", "Terminate")
HotKeySet ("{HOME}", "MAJ_Combo")
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
   if $init = 0 Then
		MAJ_Combo()
		$Name_Ethernet = IniRead (@MyDocumentsDir&"\Save.ini", "parametre", "Ethernet","")
		$IP_1 = _GUICtrlIpAddress_Set($IPAddress1,IniRead (@MyDocumentsDir & "\Save.ini", "parametre", "IP_1",""))
		$IP_2 = _GUICtrlIpAddress_Set($IPAddress2,IniRead (@MyDocumentsDir & "\Save.ini", "parametre", "IP_2",""))
		$IP_3 = _GUICtrlIpAddress_Set($IPAddress3,IniRead (@MyDocumentsDir&"\Save.ini", "parametre", GUICtrlRead($Combo_Clients),""))
		GUICtrlSetData ($Input_Ethernet,$Name_Ethernet)
		GUICtrlSetData ($IPAddress1,$IP_1)
		GUICtrlSetData ($IPAddress2,$IP_2)
		GUICtrlSetData ($IPAddress3,$IP_3)
	  $init = 1
   EndIf
   Switch $nMsg
	  case $BP_Save_Clients
		 $Combo_List_search = 1
		 While 1
			If GUICtrlRead($Combo_Clients) = $aCombo[$Combo_List_search] Then
			   IniWrite (@MyDocumentsDir & "\Save.ini", "Combo", $Combo_List_search,GUICtrlRead($Input_Clients))
			   ExitLoop
			ENDIF
			$Combo_List_search = $Combo_List_search + 1
			If $Combo_List_search >(UBound($aCombo)-1) Then
			   MsgBox($MB_SYSTEMMODAL, "errorloop", "errorloop",2)
			   ExitLoop
			EndIf
		 WEnd
		 MAJ_Combo()
	  case $BP_GO_3
	  $IP_Clients = _GUICtrlIpAddress_Get($IPAddress3)
	  IniWrite (@MyDocumentsDir & "\Save.ini", "parametre", GUICtrlRead($Combo_Clients),$IP_Clients)
	  ;RunWait(@ComSpec & " /c " & 'netsh interface ip set address "'&$Name_Ethernet&'" static '&$IP_Clients&' 255.255.255.0 192.168.0.254 1')
   endswitch
If (GUICtrlRead($Mem_Combo_Clients) <> GUICtrlRead($Combo_Clients)) Then
   _GUICtrlIpAddress_Set($IPAddress3,IniRead (@MyDocumentsDir & "\Save.ini", "parametre", GUICtrlRead($Combo_Clients),""))
   $Mem_Combo_Clients = $Combo_Clients
   GUICtrlSetData($Label2,$Mem_Combo_Clients)
GUICtrlSetData($Label3,$Combo_Clients)
endif
WEnd