Главная страница
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.036 c
2-1137759600
Crass
2006-01-20 15:20
2006.02.05
Размер формы постоянный при смене рассширения экрана - КАК?


2-1137354521
mctarik
2006-01-15 22:48
2006.02.05
Запуск приложения, только один раз за сеанс Windows!


3-1133785755
Kerk
2005-12-05 15:29
2006.02.05
Excel. Чувствую, что торможу


2-1137502635
pathfinder
2006-01-17 15:57
2006.02.05
Delphi&Excel


9-1124534029
FUNKy
2005-08-20 14:33
2006.02.05
GLScene для .NET