Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
15-1137401848
WondeRu
2006-01-16 11:57
2006.02.05
...->Югославия->Афганистан->Ирак->Иран->...->Канада->...


2-1137486304
Rentgen
2006-01-17 11:25
2006.02.05
Убрать системное меню у компонента TShellListView


3-1134117590
Behemoth
2005-12-09 11:39
2006.02.05
Не могу определиться с RAID...


15-1137010804
Firefly
2006-01-11 23:20
2006.02.05
Нужна ли программисту математика?


15-1137249400
ferr
2006-01-14 17:36
2006.02.05
ICQ




   Наверх