IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Changer l'adresse ip....


Sujet :

Web & réseau Delphi

  1. #1
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut Changer l'adresse ip....
    Salut,
    Je suis à la recherche d'une fonction ou procédure qui permettrait de changer l'adresse ip, la passerelle, le dns,... Sur une machine locale...
    Pourriez-vous m'aider?
    Pourquoi vouloir ré-inventer la roue...
    ...Surtout si c'est pour la faire carrée...

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    moi je fais ca en utilisant la fonction netsh de windows (sous dos)

    ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
                If CheckDHCP.Checked Then
                Begin
                      cde := 'netsh interface ip set address "'+ conn +'" source=dhcp';
                      execute_dos(cde);
     
                      cde := 'netsh interface ip set dns "'+ conn +'" source=dhcp';
                      execute_dos(cde);
     
                      cde := 'netsh interface ip set wins "'+ conn +'" source=dhcp';
                      execute_dos(cde);
                End
                Else
                Begin
                      cde := 'netsh interface ip set address "'+ conn +'" static ' + EditIp.Text + ' ' + EditMask.Text;
                      if EditGateway.Text <> '' then cde := cde + ' ' + EditGateway.Text + ' 1';
                      execute_dos(cde);
     
                      cde := 'netsh interface ip set win "'+ conn +'" static ' + EditPWS.Text;
                      execute_dos(cde);
                End;
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure execute_dos(CommandeDos : string);
    var
      StartInfo : TStartupInfo;
      ProcessInformation : TProcessInformation;
    begin
      ZeroMemory(@StartInfo, sizeof(StartInfo)); // remplie de 0 StartInfo
      StartInfo.cb:=sizeof(StartInfo);
      StartInfo.dwFlags:=STARTF_USESHOWWINDOW;
      StartInfo.wShowWindow:=SW_HIDE;
      if CreateProcess(nil,PChar(CommandeDos),nil,nil,true,0,nil,nil,StartInfo,ProcessInformation)
      then WaitForSingleObject(ProcessInformation.hProcess, INFINITE);
    end;
    j'utilise :
    CONN : nom de la connection reseau (par defaut ss xp : Connexion au réseau local)


    j'espere que cela t'aidera.

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par firejocker
    moi je fais ca en utilisant la fonction netsh de windows (sous dos)
    Et dans ce cas on est sur qu'il n'y a pas d'effet de bord.
    Mais netsh est-il spécifique à une plateforme, sous XP d'accord mais sous NT ?

    WMI peut être aussi une solution si tu ne souhaites pas utiliser les API.
    Exemple de script WSH, adaptable sous Delphi, pour modier l'adresse IP et la gateway:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colNetAdapters = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    strIPAddress = Array("192.168.1.141")
    strSubnetMask = Array("255.255.255.0")
    strGateway = Array("192.168.1.100")
    strGatewayMetric = Array(1)
     
    For Each objNetAdapter in colNetAdapters
        errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
        errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
        If errEnable = 0 Then
            WScript.Echo "The IP address has been changed."
        Else
            WScript.Echo "The IP address could not be changed."
        End If
    Next
    ou encore, pour modifier le domain DNS.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colNetCards = objWMIService.ExecQuery _
        ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each objNetCard in colNetCards
        Wscript.Echo objNetCard.SetDNSDomain("fabrikam.com")
    Next
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. sendmail changer l adresse de sortie du serveur messagerie
    Par wodel dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 18/04/2011, 15h11
  2. Changer l'adresse d'une image?
    Par Death83 dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 19/10/2005, 15h13
  3. Changer d'adresse
    Par pc152 dans le forum Développement
    Réponses: 1
    Dernier message: 05/01/2005, 23h12
  4. []Changer une adresse IP
    Par shanod dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2003, 18h00
  5. changer l'adresse d'un fichier...
    Par cava dans le forum C
    Réponses: 6
    Dernier message: 05/06/2002, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo