| Автор
| Сообщение |
|
|
|
Цитата |
|
В общем интересует как динамически сменить IP адрес и отключить/включить сетевой интерфейс!
Нигде не могу найти ничего на эту тему =(( может у когонить есть инфа ?
|
|
| В начало |
|
 |
|
|
 |
|
|
|
Цитата |
|
| Цитата: |
В общем интересует как динамически сменить IP адрес
|
Динамически не как. А статистически вот так
| Описание: |
|
 Скачать |
| Имя файла: |
ARP.zip |
| Размер: |
59.15 KB |
| Загружен: |
359 раз(а) |
|
|
| В начало |
|
 |
|
|
|
Цитата |
|
Хех так это просто управление таблицей ARP у меня к стате и так был этот примерчик
|
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
| Код: |
Rentgen © (25.10.05 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 © (25.10.05 15:41) [4]
вызывать так:
if NOT ChangeIp( 'Подключение по локальной сети',
'192.168.0.188',
'255.255.255.0',
'192.168.10.90') then showmessage(Невозможно сменить IP')
else showmessage('IP изменен успешно!');
|
_________________ Сила дурака в том, что умный перед ним бессилен. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Это конечно роботает но вызывать внешнию прогрумму как то криво может всётки есть способ сделать всё программно ?
|
|
| В начало |
|
 |
|