Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R] Changement d'adresse ip automatique (Travail + Maison)
Auteur Message
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 

Voila, je veux automatiser une connexion automatique en basculant entre le travail et la maison !
Pour le travail on utilise un Proxy : Donc je dois normalement choisir l'adresse ip manuellement et entrer les paramètres du proxy, ce qui est très fatiguant pour moi de répéter ces actions chaque fois Rolling Eyes
Pour la maison une connexion normale avec DHCP en WIFI
Alors, J'ai utilisé un Vbscript trouvé dans le Net, que je l'ai modifié un peu pour mon cas, et il marche bien, or je veux l'intégrer càd le réécrire en autoit avec ce que je viens de faire en autoit dans son menu càd ajouter un item pour Connexion travail et un item pour la connexion Maison Wink
Code:
' Initialize Objects
Dim LocalClass_StdRegProv: Set LocalClass_StdRegProv = GetObject("winmgmts:{impersonationlevel=impersonate}!//./root/default:StdRegProv")
Dim EmptyRecordset: Set EmptyRecordset = CreateObject("ADODB.Recordset")
' Define Constants
Const HKEY_CLASSES_ROOT = &H80000000, HKCR = &H80000000
Const HKEY_CURRENT_USER = &H80000001, HKCU = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002, HKLM = &H80000002
Const HKEY_USERS = &H80000003, HKU = &H80000003
Const HKEY_PERFORMANCE_DATA = &H80000004, HKPD = &H80000004
Const HKEY_CURRENT_CONFIG = &H80000005, HKCC = &H80000005
Const HKEY_DYN_DATA = &H80000006, HKDD = &H80000006
Const MaxCharacters = 255
Const adVarChar = 200
Const adInteger = 3
' Dimension Public Variables
Dim EntryNumber: EntryNumber = 0
Dim Return

EmptyRecordset.Fields.Append "Entry", adInteger
EmptyRecordset.Fields.Append "Name", adVarChar, MaxCharacters
EmptyRecordset.Fields.Append "Server", adVarChar, MaxCharacters
EmptyRecordset.Fields.Append "Port", adInteger
EmptyRecordset.Open

' Add server/port
EntryNumber = EntryNumber + 1
EmptyRecordset.AddNew
EmptyRecordset("Entry") = EntryNumber
EmptyRecordset("Name") = "Connexion au travail avec proxy"
EmptyRecordset("Server") = "172.16.0.1"
EmptyRecordset("Port") = "3128"
EmptyRecordset.Update

EntryNumber = EntryNumber + 1
EmptyRecordset.AddNew
EmptyRecordset("Entry") = EntryNumber
EmptyRecordset("Name") = "Connexion à la maison avec WIFI DHCP Activé"
EmptyRecordset("Server") = ""
EmptyRecordset("Port") = "80"
EmptyRecordset.Update


Dim Message
EmptyRecordset.MoveFirst
Do While EmptyRecordset.EOF = False
    Message = Message & EmptyRecordset("Entry").Value & "-" & vbTab & EmptyRecordset("Name").Value & vbCrLf     
    EmptyRecordset.MoveNext
Loop

Do
    Dim intAnswer: intAnswer = InputBox(Message, "Entrer 1 ou 2 puis valider par OK © Hackoo Crackoo","1")
    If IsNumeric(intAnswer) = True Then intAnswer = CLng(intAnswer)
    If intAnswer > EmptyRecordset.RecordCount Or intAnswer < 0 Then MsgBox "Invalide entrée, veuillez réessayer ...",16,"Invalide entrée, veuillez réessayer ..."
Loop Until (((VarType(intAnswer) And vbLong) = vbLong) And intAnswer <= EmptyRecordset.RecordCount And intAnswer >= 0)

Select Case True
Case (((VarType(intAnswer) And vbLong) = vbLong) And intAnswer = EmptyRecordset.RecordCount And intAnswer > 0)
    DesactiverProxy()
    ActiverDHCP()
Case (intAnswer = 0)
    MsgBox "Annulé. Quitter.",48,"Annulé. Quitter."
Case (((VarType(intAnswer) And vbLong) = vbLong) And intAnswer <= EmptyRecordset.RecordCount And intAnswer > 0)
    EmptyRecordset.Filter = "Entry=" & intAnswer
    Dim ProxyServer: ProxyServer = EmptyRecordset("Server").Value & ":" & EmptyRecordset("Port").Value
    intAnswer = MsgBox("Voulez-vous définir le proxy pour " & EmptyRecordset("Name").Value & " (" & ProxyServer & ") ?", vbQuestion + vbYesNo, "Confirmez-vous ?")
    If intAnswer = vbYes Then
        Return = LocalClass_StdRegProv.SetDWORDValue(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable",1)
        Return = LocalClass_StdRegProv.SetStringValue(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyServer",ProxyServer)
        Call ChangeIP_Static()
        If Err.Number = 0 And Return = 0 Then
            MsgBox "Les paramètres de proxy sont modifiés. Quitter.",64,"Les paramètres de proxy sont modifiés. Quitter."
        Else
            MsgBox "Les paramètres de proxy ne changent pas. Quitter.",48,"Les paramètres proxy ne changent pas. Quitter."
        End If
    Else
        MsgBox "Aucune modification apportée. Quitter.",48,"Aucune modification apportée. Quitter."
    End If
Case Else
    WScript.Echo "Entrée Invalide. Quitter",16,"Entrée Invalide. Quitter"
End Select



Sub ChangeIP_Static()
    strIP = Array("172.16.0.100")
    strmask = Array("255.255.255.0")
   
    strGateway = Array("172.16.0.1")
    strGatewayMetric = Array(1)
   
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   
    Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
   
    For Each objNetAdapter in colNetAdapters
        errEnable = objNetAdapter.EnableStatic(strIP, strmask)
        errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
        If errEnable = 0 Then
            MsgBox "L'adresse IP a été changé.",64,"L'adresse IP a été changé."
        Else
            MsgBox "L'adresse IP ne peut pas être changé.",16,"L'adresse IP ne peut pas être changé."
        End If
    Next
End Sub
Sub DesactiverProxy()
    Set ws = createObject("wscript.Shell")
    ws.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable",0,"REG_DWORD"
End Sub

Sub ActiverDHCP()
    Titre = "Connexion à la maison avec WIFI DHCP Activé"
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   
    Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
   
    For Each objNetAdapter in colNetAdapters
        errEnable = objNetAdapter.EnableDHCP()
        errGateways = objNetAdapter.SetGateways()
        If errEnable = 0 Then
            MsgBox "L'adresse IP a été bien changé et le DHCP est désormais Activé !" & vbCrLf & Titre,64,Titre
        Else
            MsgBox "L'adresse IP n'a pas été changé !" ,16, "Changer IP"
        End If
    Next
End Sub

Code:
#include <Inet.au3>
#include <String.au3>
#include <Array.au3>
#include <Sound.au3>
;#NoTrayIcon
Opt("TrayMenuMode",3)
TraySetIcon("shell32.dll","-19")
Local $connected=0
Local $Copyright = " © Hackoo © 2014"
HotKeySet("!q","Fin")
$sIP =  TrayCreateItem("Afficher l'adresse Ip Publique")
$aboutitem = TrayCreateItem("A propos")
$exititem = TrayCreateItem("Quitter l'application")
TraySetState() ; Pour montrer l'icone dans le tray
Global $sPublicIP = _GetIP()

TestdeConnexion()

Func MenuTray()
While 1
$msg = TrayGetMsg()
    Select
        Case $msg = $sIP
            TrayTip("Ip Publique "& $Copyright,"Votre ip publique est : " & $sPublicIP,100,1)
        Case $msg = $aboutitem
            Msgbox(64,"A propos de Test de Connexion Internet" & $Copyright,"Test de Connexion Internet + Affichage de l'adresse ip publique" & @CRLF & $Copyright)
        Case $msg = $exititem
            Exit
    EndSelect
WEnd
EndFunc

Func TestdeConnexion()
while 1
   $ret = DllCall("WinInet.dll","int","InternetGetConnectedState","int_ptr",0,"int",0)
   If $ret[0] then
      if $connected=0 Then
         _parle("Etat de connexion internet : ",1)
         $connected=1
         ;TrayTip("Ip Publique"& $Copyright,"Votre ip publique est : " & $sPublicIP,100,1)
          Sleep(1000)
      EndIf
      MenuTray()
   Else
      if $connected=0 Then
         _parle("Etat de connexion internet : ",0)
         $connected=0
         EndIf
     Endif
   sleep(10000)
wend
EndFunc

Func _parle($String,$Flag)
   If $Flag = 1 Then
      InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $String & " et connectez",@TempDir & "\temp.mp3",1)
      TrayTip("Test de Connexion Internet"& $Copyright,$STRING & " connecté" & @CRLF & "Votre ip publique est : " & $sPublicIP,10,1)
      sleep(2000)
   Else
      ;InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $String & " et deconnectez",@TempDir & "\temp.mp3",1)
      TrayTip("Test de Connexion Internet "& $Copyright, $STRING & "Pas de connexion internet disponible" ,10,3)
      sleep(20000)
  EndIf
  $sound = _SoundOpen(@TempDir & "\temp.mp3")
   if FileExists(@TempDir & "\temp.mp3") Then
      _SoundPlay($sound,1)
      _SoundClose($sound)
      FileDelete(@TempDir & "\temp.mp3")
   EndIf
EndFunc

Func fin()
   Exit
EndFunc

pour votre aide



Dernière édition par Hackoo le Jeu 9 Jan 2014 - 03:46; édité 2 fois

______________________________________________________
Mes Contributions en Téléchargement
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
Bonjour

ça aurait gentil de commenter tes codes afin de comprendre à quoi correspond chaque partie....

J avais fait un sujet sur le WMI en autoit sur mon forum perso des qu il est accessible je te le poste ici ça pourrait t aider.

Et c est quoi au juste ton probleme dans ton code ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
Salut Laughing
Voila, j'ai avancé un peu dans le code Autoit, grâce a cet UDF : Configuration réseau
Cependant, il me reste juste une petite chose à faire, c'est comment je peux, modifier les paramètres de proxy dans firefox càd , l'activer avec mes paramètres et le désactiver après Rolling Eyes
Code:
#include <Inet.au3>
#include <String.au3>
#include <Array.au3>
#include <Sound.au3>
#include <Network.au3>
Local $infos = _GetNetworkAdapterList(); Liste des connexions/cartes disponibles
;Récupére le nom de la carte réseau (physique) en fonction du nom de la connexion (Connexion réseau sans fil) dans mon exemple
Local $CarteWifi = _GetNetworkAdapterFromID("Connexion réseau sans fil")
Opt("TrayMenuMode",3)
TraySetIcon("shell32.dll","-19")
Global $connected=0
Global $Copyright = " © Hackoo © 2014"
HotKeySet("!q","Fin")
$sIP =  TrayCreateItem("Afficher l'adresse Ip Publique")
$AdaptateursReseaux = TrayCreateItem("Infos Adaptateurs Réseaux")
$Travail = TrayCreateItem("Connexion Travail avec Proxy")
$Maison = TrayCreateItem("Connexion Maison sans Proxy")
$Sortir = TrayCreateItem("Quitter l'application")
TraySetState() ; Pour montrer l'icone dans le tray
Global $sPublicIP = _GetIP()
TestdeConnexion()
;*********************************************************************************************************************
Func MenuTray()
While 1
$msg = TrayGetMsg()
    Select
        Case $msg = $sIP
            TrayTip("Ip Publique "& $Copyright,"Votre ip publique est : " & $sPublicIP,100,1)
        Case $msg = $AdaptateursReseaux
            _ArrayDisplay($infos)
            ;Msgbox(64,"A propos de Test de Connexion Internet" & $Copyright,"Test de Connexion Internet + Affichage de l'adresse ip publique" & @CRLF & $Copyright)
        Case $msg = $Travail
            ; Configurer l'adresse IP manuellement
            Local $IpStatic = InputBox("Choix de votre IP Statique" & $Copyright ,"Veuillez taper l'adresse IP Statique " ,"172.16.0.100","")
            If $IpStatic = "" Then ExitLoop
                If IP_Valide($IpStatic) = True Then
                    ;Msgbox(64,"",$IpStatic & " est une adresse valide")
                    _EnableStatic($CarteWifi,$IpStatic,"255.255.255.0")
                    ; Configurer la passerelle par défaut
                    _SetGateways($CarteWifi,"172.16.0.1")
                    ActiverProxy()
                    ReCreateMyself()
                else
                    MsgBox(16,"Adresse IP non valide !",$IpStatic & " est une adresse non valide")
                EndIf
        Case $msg = $Maison
            ; Configurer la connexion en DHCP
            _EnableDHCP($CarteWifi)
            ; Libère le bail DHCP
            _ReleaseDHCPLease()
            ; Renouvelle le bail DHCP
            _RenewDHCPLease()
            DesactiverProxy()
            ReCreateMyself()
        Case $msg = $Sortir
            Exit
    EndSelect
WEnd
EndFunc
;*********************************************************************************************************************
Func ActiverProxy()
; Activer le proxy
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable", "REG_DWORD", 1)
; Utiliser le proxy 172.16.0.1:3128
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyServer", "REG_SZ", "172.16.0.1:3128")
EndFunc
;*********************************************************************************************************************
Func DesactiverProxy()
; Désactiver le proxy
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable", "REG_DWORD", 0)
EndFunc
;*********************************************************************************************************************
Func TestdeConnexion()
For $i = 2 To 1 Step -1
   $ret = DllCall("WinInet.dll","int","InternetGetConnectedState","int_ptr",0,"int",0)
   If $ret[0] then
      if $connected=0 Then
         _parle("Etat de connexion internet : ",1)
         $connected=1
          Sleep(1000)
      EndIf
      MenuTray()
   Else
      if $connected=0 Then
         _parle("Etat de connexion internet : ",0)
         $connected=0
         EndIf
     Endif
   sleep(10000)
   MenuTray()
Next
EndFunc
;*********************************************************************************************************************
Func _parle($String,$Flag)
   If $Flag = 1 Then
      InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $String & " et connectez",@TempDir & "\temp.mp3",1)
      TrayTip("Test de Connexion Internet"& $Copyright,$STRING & " connecté" & @CRLF & "Votre ip publique est : " & $sPublicIP,10,1)
      sleep(2000)
   Else
      ;InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $String & " et deconnectez",@TempDir & "\temp.mp3",1)
      TrayTip("Test de Connexion Internet "& $Copyright, $STRING & "Pas de connexion internet disponible" ,10,3)
      sleep(20000)
  EndIf
  $sound = _SoundOpen(@TempDir & "\temp.mp3")
   if FileExists(@TempDir & "\temp.mp3") Then
      _SoundPlay($sound,1)
      _SoundClose($sound)
      FileDelete(@TempDir & "\temp.mp3")
   EndIf
EndFunc
;*********************************************************************************************************************
Func ReCreateMyself()
    If @Compiled Then
        Run(@ScriptFullPath);just run the exe
    Else
        ;$AutoIt3Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "betaInstallDir");installDir for beta
        $AutoIt3Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir");installDir for production
        $ToRun1 = '"' & $AutoIt3Path & '\AutoIt3.exe "' & ' "' & @ScriptFullPath & '"'
        ; ConsoleWrite($ToRun1 & @CRLF)o test we have got it right
        Run($ToRun1)
    EndIf
    Exit
EndFunc   ;==>ReCreateMyself
;*********************************************************************************************************************
Func fin()
   Exit
EndFunc
;*********************************************************************************************************************
Func IP_Valide($ip)
    Return StringRegExp ($ip,"^((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)$")
EndFunc
;*********************************************************************************************************************





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
essaie de configurer IE en proxy et voir si firefox utilise ses parametres




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
Laddy a écrit:
essaie de configurer IE en proxy et voir si firefox utilise ses parametres

Oui, j'ai essayé ceci, mais hélas il agit seulement sur IE et Chrome puisque ce dernier hérite les paramètres de IE, mais pour firefox , c'est dans le fichier de config prefs.js que ça se passe.
Voila j'ai trouvé une piste, et je dois, la convertir en Autoit, mais puisque je suis encore novice en autoit que me proposiez-vous comme solution
Piste ==> http://stackoverflow.com/questions/843340/firefox-proxy-settings-via-comman…




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
Salut Laughing
Un petit avancement dans le code pour Firefox, mais pas encore satisfait Rolling Eyes
==> http://www.autoitscript.fr/forum/viewtopic.php?f=20&t=12103&p=84103…




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
Bonjour tu as changé manuellement les infos proxy dans le script ?
tu l'as bien ajouté dans ton code pour qu il s execute ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Problème Résolu ! 
encore une autre fois pour vos réponses et votre patience

Maintenant ça marche super bien
et le problème est

Code:
#include <Inet>
#include <String>
#include <Array>
#include <Sound>
#include <Network>
Local $infos = _GetNetworkAdapterList(); Liste des connexions/cartes disponibles
;Récupére le nom de la carte réseau (physique) en fonction du nom de la connexion (Connexion réseau sans fil) dans mon exemple
Local $CarteWifi = _GetNetworkAdapterFromID("Connexion réseau sans fil")
Opt("TrayMenuMode",3)
TraySetIcon("shell32.dll","-19")
Global $connected=0
Global $Copyright = " © Hackoo © 2014"
Global $prefsTab
Global $aProfiles = _FF_ProfilesList()
HotKeySet("!q","Fin")
$sIP =  TrayCreateItem("Afficher l'adresse Ip Publique")
TrayCreateItem("")
$AdaptateursReseaux = TrayCreateItem("Infos Adaptateurs Réseaux")
TrayCreateItem("")
$Travail = TrayCreateItem("Connexion Travail avec Proxy")
TrayCreateItem("")
$Maison = TrayCreateItem("Connexion Maison sans Proxy")
TrayCreateItem("")
$Sortir = TrayCreateItem("Quitter l'application")
TraySetState() ; Pour montrer l'icone dans le tray
Global $sPublicIP = _GetIP()
TestdeConnexion()
;*********************************************************************************************************************
Func MenuTray()
While 1
$msg = TrayGetMsg()
    Select
        Case $msg = $sIP
            TrayTip("Ip Publique "& $Copyright,"Votre ip publique est : " & $sPublicIP,100,1)
        Case $msg = $AdaptateursReseaux
            _ArrayDisplay($infos)
            ;Msgbox(64,"A propos de Test de Connexion Internet" & $Copyright,"Test de Connexion Internet + Affichage de l'adresse ip publique" & @CRLF & $Copyright)
        Case $msg = $Travail
            ; Configurer l'adresse IP manuellement
            Local $IpStatic = InputBox("Choix de votre IP Statique" & $Copyright ,"Veuillez taper l'adresse IP Statique " ,"172.16.0.100","")
            If $IpStatic = "" Then ExitLoop
                If IP_Valide($IpStatic) = True Then
                    ;Msgbox(64,"",$IpStatic & " est une adresse valide")
                    _EnableStatic($CarteWifi,$IpStatic,"255.255.255.0")
                    ; Configurer la passerelle par défaut
                    _SetGateways($CarteWifi,"172.16.0.1")
                    If ProcessExists("FireFox.exe") Then
                        MsgBox (48,"L'application FireFox doit être fermée !","L'application FireFox doit être fermée !")
                        ProcessClose("FireFox.exe")
                    EndIf
                    ActiverFireFoxProxy()
                    ActiverIEProxy()
                    ReCreateMyself()
                else
                    MsgBox(16,"Adresse IP non valide !",$IpStatic & " est une adresse non valide")
                EndIf
        Case $msg = $Maison
            ; Configurer la connexion en DHCP
            _EnableDHCP($CarteWifi)
            ; Libère le bail DHCP
            _ReleaseDHCPLease()
            ; Renouvelle le bail DHCP
            _RenewDHCPLease()
            If ProcessExists("FireFox.exe") Then
                MsgBox (48,"L'application FireFox doit être fermée !","L'application FireFox doit être fermée !")
                ProcessClose("FireFox.exe")
            EndIf
            DesactiverFireFoxProxy()
            DesactiverIEProxy()
            ReCreateMyself()
        Case $msg = $Sortir
            TraySetIcon("shell32.dll","-28")
            TrayTip("Application a été fermée !"& $Copyright,"Application a été fermée" ,10,3)
            Sleep(3000)
            Exit
    EndSelect
WEnd
EndFunc
;*********************************************************************************************************************
Func ActiverIEProxy()
; Activer le proxy
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable", "REG_DWORD", 1)
; Utiliser le proxy 172.16.0.1:3128
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyServer", "REG_SZ", "172.16.0.1:3128")
EndFunc
;*********************************************************************************************************************
Func DesactiverIEProxy()
; Désactiver le proxy
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable", "REG_DWORD", 0)
EndFunc
;*********************************************************************************************************************
Func TestdeConnexion()
For $i = 2 To 1 Step -1
   $ret = DllCall("WinInet.dll","int","InternetGetConnectedState","int_ptr",0,"int",0)
   If $ret[0] then
      if $connected=0 Then
         _parle("Etat de connexion internet : ",1)
         $connected=1
          Sleep(1000)
      EndIf
      MenuTray()
   Else
      if $connected=0 Then
          TraySetIcon("shell32.dll","-220")
         _parle("Etat de connexion internet : ",0)
         $connected=0
         EndIf
     Endif
   sleep(10000)
   MenuTray()
Next
EndFunc
;*********************************************************************************************************************
Func _parle($String,$Flag)
   If $Flag = 1 Then
      InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $String & " et connectez",@TempDir & "\temp.mp3",1)
      TrayTip("Test de Connexion Internet"& $Copyright,$STRING & " connecté" & @CRLF & "Votre ip publique est : " & $sPublicIP,10,1)
      sleep(2000)
   Else
      _TalkOBJ('You are Not Connected to the Internet !', 3)
      TrayTip("Test de Connexion Internet "& $Copyright, $STRING & "Pas de connexion internet disponible" ,10,3)
      sleep(20000)
  EndIf
  $sound = _SoundOpen(@TempDir & "\temp.mp3")
   if FileExists(@TempDir & "\temp.mp3") Then
      _SoundPlay($sound,1)
      _SoundClose($sound)
      FileDelete(@TempDir & "\temp.mp3")
   EndIf
EndFunc
;*********************************************************************************************************************
Func ReCreateMyself()
    If @Compiled Then
        Run(@ScriptFullPath);just run the exe
    Else
        ;$AutoIt3Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "betaInstallDir");installDir for beta
        $AutoIt3Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir");installDir for production
        $ToRun1 = '"' & $AutoIt3Path & '\AutoIt3.exe "' & ' "' & @ScriptFullPath & '"'
        ; ConsoleWrite($ToRun1 & @CRLF)o test we have got it right
        Run($ToRun1)
    EndIf
    Exit
EndFunc   ;==>ReCreateMyself
;*********************************************************************************************************************
Func fin()
   Exit
EndFunc
;*********************************************************************************************************************
Func IP_Valide($ip)
    Return StringRegExp ($ip,"^((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)$")
EndFunc
;*********************************************************************************************************************
;**********************Activer le Proxy dans FireFox**************************
Func ActiverFireFoxProxy()
    $aProfiles = _FF_ProfilesList()
For $i = 1 To $aProfiles[0][0]
    _ConfigProxy($aProfiles[$i][1] & "\prefs.js")
Next
EndFunc
; Liste les profils Firefox de l'utilisateur et retourne un tableau 2D :
; $array[0][0] = Nombre de profils
; $array[0][1] = Index du profil par défaut
; $array[1][0] = Nom du premier profil
; $array[1][1] = Chemin du premier profil

; **********************Desactiver le Proxy dans FireFox***********************
Func DesactiverFireFoxProxy()
    $aProfiles = _FF_ProfilesList()
For $i = 1 To $aProfiles[0][0]
    _DisableProxy($aProfiles[$i][1] & "\prefs.js")
Next
EndFunc
; *****************************************************************************

Func _FF_ProfilesList()
    ; On déclare un tableau 2D à une ligne (il sera redimmensionné par la suite)
    Local $aResult[1][2] = [[0]]

    ; Emplacement du fichier qui contient la liste des profils Firefox
    Local $sProfiles = @AppDataDir & "\Mozilla\Firefox\profiles.ini"

    ; On énumère les sections contenues dans le fichier profiles.ini ($aSections est un tableau)
    ; Chaque section correspond à un profil Firefox (sauf la section "General")
    Local $aSections = IniReadSectionNames($sProfiles)
    ; En cas de problème d'énumération (fichier introuvable par ex), on sort
    If @error OR NOT IsArray($aSections) Then Return SetError(1, 1, 0)

    ; On parcourt le tableau
    For $i = 1 To $aSections[0]
        ; La section "General" ne nous intéresse pas
        If $aSections[$i] <> "General" Then
            ; Pour chaque profil, on lit les différentes valeurs dans le fichier
            Local $sProfileName    = IniRead($sProfiles, $aSections[$i], "Name", "error")
            Local $bIsRelative     = IniRead($sProfiles, $aSections[$i], "IsRelative", "error")
            Local $sProfilePath    = IniRead($sProfiles, $aSections[$i], "Path", "error")

            ; En cas d'erreur de lecture, on passe à la section suivante
            If $bIsRelative = "error" OR $sProfilePath = "error" OR $sProfileName = "error" Then ContinueLoop

            ; Si le chemin est un chemin relatif, on créé le chemin statique
            If $bIsRelative = "1" Then $sProfilePath = _PathFull( @AppDataDir & "\Mozilla\Firefox\" & StringReplace($sProfilePath, "/", "\") )

            ; On vérifie que le fichier de préférences existe bien. Si ce n'est pas le cas, on quitte
            If NOT FileExists($sProfilePath & "\prefs.js") Then ContinueLoop

            ; $aResult[0][0] contient le nombre de profils
            $aResult[0][0] = UBound($aResult)

            ; On ajoute une ligne au tableau
            Redim $aResult[ UBound($aResult) + 1][2]

            ; $aResult[0][0] contient l'index (du tableau) du profil par défaut
            If IniRead($sProfiles, $aSections[$i], "Default", "error") = "1" Then $aResult[0][1] = UBound($aResult) - 1

            ; $aResult[n][0] contient le nom de chaque profil
            $aResult[UBound($aResult) - 1][0] = $sProfileName
            ; $aResult[n][0] contient le chemin statique de chaque profil
            $aResult[UBound($aResult) - 1][1] = $sProfilePath
        EndIf
    Next

    If $aResult[0][1] = "" AND $aResult[0][0] > 0 Then $aResult[0][1] = 1

    Return $aResult

EndFunc
; *****************************************************************************
; Effectue les modifications dans le fichier de préférences Firefox
Func _ConfigProxy( $prefs )

    ; On lit le fichier prefs.js, et on le met dans un tableau
    If Not _FileReadToArray( $prefs , $prefsTab) Then Return 0

    ; En cas d'erreur, on sort
    If NOT IsArray($prefsTab) Then Return 0

    ; On supprime la première ligne du tableau qui ne nous sert à rien (c'est le nombre de lignes)
    _ArrayDelete($prefsTab, 0)

    ; On appelle la fonction _PrefsModify en passant les paramètres voulus :
    ; Valeur à modifier / valeur à affecter
    ; Si le deuxième paramètre n'est pas spécifié, la ligne correspondante est supprimé du fichier de préférences
_PrefsModify("network.proxy.backup.ftp", "172.16.0.1");
_PrefsModify("network.proxy.backup.ftp_port", 3128);
_PrefsModify("network.proxy.backup.socks", "172.16.0.1");
_PrefsModify("network.proxy.backup.socks_port", 3128);
_PrefsModify("network.proxy.backup.ssl", "172.16.0.1");
_PrefsModify("network.proxy.backup.ssl_port", 3128);
_PrefsModify("network.proxy.ftp", "172.16.0.1");
_PrefsModify("network.proxy.ftp_port", 3128);
_PrefsModify("network.proxy.http", "172.16.0.1");
_PrefsModify("network.proxy.http_port", 3128);
_PrefsModify("network.proxy.share_proxy_settings", 1);   ; Utiliser ce serveur proxy pour tous les protocoles
_PrefsModify("network.proxy.socks", "172.16.0.1");
_PrefsModify("network.proxy.socks_port", 3128);
_PrefsModify("network.proxy.ssl", "172.16.0.1");
_PrefsModify("network.proxy.ssl_port", 3128);
_PrefsModify("network.proxy.type", 1);
                                          ; 0 = Pas de proxy
                                          ; 1 = Configuration manuelle
                                          ; 2 = Utiliser un script du configuration

    ; On écrit le fichier à partir du tableau modifié
    _FileWriteFromArray ( $prefs, $prefsTab )
EndFunc
; *****************************************************************************
; La fonction _PrefsModify effectue les modifications voulues dans le tableau $prefsTab
; Si le deuxième paramètre n'est pas spécifié, la ligne correspondante est supprimé du fichier de préférences
Func _PrefsModify( $setting , $value = "" )
    ; Si la valeur spécifiée n'est pas un nombre, on ajoute les doubles quotes à la valeur
    If $value <> "" AND NOT IsNumber($value) Then $value = '"' & $value & '"'

    ; On parcours le tableau ligne à ligne
    For $i = 1 To UBound($prefsTab) - 1
        ; Si la ligne contient le paramètre à modifié, on précède à La modification de la valeur
        ; ou la suppression de la ligne si $value n'est pas spécifié
        If StringInStr($prefsTab[$i], $setting ) Then
            If $value == "" Then
                _ArrayDelete( $prefsTab, $i )
            Else
                $prefsTab[$i] = 'user_pref("' & $setting & '", ' & $value & ');'
            EndIf
            Return 1
        EndIf
    Next

    ; Si le paramètre n'a pas été trouvé, on l'ajoute à la fin du tableau
    If $value <> "" Then _ArrayAdd ( $prefsTab, 'user_pref("' & $setting & '", ' & $value & ');' )

    Return 1
EndFunc
; *****************************************************************************
Func _DisableProxy( $prefs )
    ; On lit le fichier prefs.js, et on le met dans un tableau
    If Not _FileReadToArray( $prefs , $prefsTab) Then Return 0

    ; En cas d'erreur, on sort
    If NOT IsArray($prefsTab) Then Return 0

    ; On supprime la première ligne du tableau qui ne nous sert à rien (c'est le nombre de lignes)
    _ArrayDelete($prefsTab, 0)

    _PrefsModify("network.proxy.ftp")
    _PrefsModify("network.proxy.ftp_port")
    _PrefsModify("network.proxy.http")
    _PrefsModify("network.proxy.http_port")
    _PrefsModify("network.proxy.socks")
    _PrefsModify("network.proxy.socks_port")
    _PrefsModify("network.proxy.ssl")
    _PrefsModify("network.proxy.ssl_port")
    _PrefsModify("network.proxy.autoconfig_url")
    ; _PrefsModify("network.proxy.share_proxy_settings", "true") ; Utiliser ce serveur proxy pour tous les protocoles
    _PrefsModify("network.proxy.share_proxy_settings")

    _PrefsModify("network.proxy.type", 0) ; 0 = Pas de proxy
                                          ; 1 = Configuration manuelle
                                          ; 2 = Utiliser un script du configuration
    _FileWriteFromArray ( $prefs, $prefsTab )
EndFunc
;*********************************************************************************************************************
Func _TalkOBJ($s_text, $s_voice = 3)
    Local $o_speech = ObjCreate("SAPI.SpVoice")
        Select
            Case $s_voice == 1
                $o_speech.Voice = $o_speech.GetVoices("Name=Microsoft Mary", "Language=409").Item(0)
            Case $s_voice == 2
                $o_speech.Voice = $o_speech.GetVoices("Name=Microsoft Mike", "Language=409").Item(0)
            Case $s_voice == 3
                $o_speech.Voice = $o_speech.GetVoices("Name=Microsoft Sam", "Language=409").Item(0)
        EndSelect
    $o_speech.Speak ($s_text)
    $o_speech = ""
EndFunc  ;==>_TalkOBJ
;***********************************************************************************************************************





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
Code:
"%userprofile%\Desktop\a.au3"(2,10) : error: can't open include file <String>.


Je fais comment XD




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
C'est qu'il te manque C:\Program Files (x86)\AutoIt3\Include\Sring.au3
Tu veux que je te le donne?




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Changement d'adresse ip automatique (Travail + Maison) 
string.au3 viens par defaut dans l'installation de Autoit.

Ta ligne est bien ainsi (avec le .au3):

Code:

#include <string.au3>





______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message [R] Changement d'adresse ip automatique (Travail + Maison) 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch