Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

Как можно программно сменить текущий IP-адрес в локалке?   Найти похожие ветки 

 
Rentgen ©   (2005-10-25 12:44) [0]

Всем привет!
Как можно программно сменить текущий IP-адрес в локалке?


 
Rentgen ©   (2005-10-25 13:41) [1]

Нашел
IP Helper.
Но в MSDN сказанно, что он для C++
А неподскажите аналоги для Delphi?


 
Rentgen ©   (2005-10-25 14:57) [2]

Вообщем нашел 100% ответ:
iphlpapi.dll

НО(!)
Кто нить скажет как работать с этими функциями?
Может юнит есть?


 
Rentgen ©   (2005-10-25 15:40) [3]

Спасибо мастерам за (НЕ)помощь.
Держите функцию собратья по несчастью :)   :

function ChangeIp(ConnectionName,Ip,Netmask,Gateway:string):boolean;

   function ExecAndWait(FileName:String; Visibility:integer):integer;
   var
     zAppName:array[0..512] of char;
     zCurDir:array[0..255] of char;
     WorkDir:String;
     StartupInfo:TStartupInfo;
     ProcessInfo:TProcessInformation;
     Resultado: DWord;
   begin
     StrPCopy(zAppName,FileName);
     GetDir(0,WorkDir);
     StrPCopy(zCurDir,WorkDir);
     FillChar(StartupInfo,Sizeof(StartupInfo),#0);
     StartupInfo.cb := Sizeof(StartupInfo);

     StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
     StartupInfo.wShowWindow := Visibility;
     if not CreateProcess(nil,
       zAppName,                      { pointer to command line string }
       nil,                           { pointer to process security attributes}
       nil,                           { pointer to thread security attributes}
       false,                         { handle inheritance flag }
       CREATE_NEW_CONSOLE or          { creation flags }
       NORMAL_PRIORITY_CLASS,
       nil,                           { pointer to new environment block }
       nil,                           { pointer to current directory name }
       StartupInfo,                   { pointer to STARTUPINFO }
       ProcessInfo) then Result := -1 { pointer to PROCESS_INF }

     else begin
       WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
       GetExitCodeProcess(ProcessInfo.hProcess,Resultado);
       Result := Resultado;
     end;
   end;

 begin
   Result:=( ExecAndWait( "netsh interface ip set address ""+
                          ConnectionName+"" "+
                         " static "+Ip+ " "+NetMask +" "+GateWay+" 1",sw_hide)=0 );
 end;


 
Rentgen ©   (2005-10-25 15:41) [4]

вызывать так:

if NOT ChangeIp( "Подключение по локальной сети",
                  "192.168.0.188",
                  "255.255.255.0",
                  "192.168.10.90") then showmessage(Невозможно сменить IP")
                                   else showmessage("IP изменен успешно!");


 
Помогите пожалуйста?   (2005-10-25 18:33) [5]

а  как рабочию группу и описание?


 
Arazel ©   (2005-10-29 15:58) [6]

В натуре как  изменить?



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
4-1133003373
RaPToRidze
2005-11-26 14:09
2006.02.05
зип виндой


2-1137405620
Пользователь
2006-01-16 13:00
2006.02.05
Создание компонента


2-1137762326
dr.Mind
2006-01-20 16:05
2006.02.05
Учет входящего трафика


3-1133618563
JazY
2005-12-03 17:02
2006.02.05
Как добавить запись в DBGrid?


2-1137858839
Змей
2006-01-21 18:53
2006.02.05
Пустой edit.text