Главная страница
    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.46 MB
Время: 0.011 c
2-1137663923
subjet
2006-01-19 12:45
2006.02.05
Файлы


2-1137652551
dera
2006-01-19 09:35
2006.02.05
Как уберечь программу от незаконного копирования?


4-1132369201
Александр_
2005-11-19 06:00
2006.02.05
Работа с флешкой


2-1137359399
Tort
2006-01-16 00:09
2006.02.05
Копировать файлы


15-1137271695
Гарри Поттер
2006-01-14 23:48
2006.02.05
Админский софт для комп. клуба инет-кафе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский