Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2006, 15:34   #1
micaell
Пользователь
 
Аватар для micaell
 
Регистрация: 01.12.2006
Сообщений: 32
Лампочка А кто знает как менять IP через Delphi?

А кто знает как менять IP через Delphi?
La iniciativa, control, respeto - las prioridades del vencedor.
micaell вне форума Ответить с цитированием
Старый 15.12.2006, 19:46   #2
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

shellexecute(handle,'open','netsh.e xe',
'interface ip set address "Local Area Connection" ' +
'static 192.168.0.1 255.255.255.0 192.168.0.2 1',
nil,sw_hide);
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 15.12.2006, 19:47   #3
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

Или вот тебе готовый юнит. Дорабатывай сам...
Код:
unit Inet;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Select(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
IList: TStringList;
implementation

{$R *.dfm}

function ReadIP(key:string):string;
const
ifs='SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces';
var
reg: HKey;
DataType, DataSize: DWORD;
s: string;
begin
result:='';
s:=ifs+'\'+key;
if RegOpenKeyEx(HKEY_local_machine,PAnsiChar(s),0,KEY_QUERY_VALUE,reg)=ERROR_SUCCESS then
begin
RegQueryValueEx(reg,'IPAddress',nil,@DataType,nil,@DataSize);
SetLength(s, DataSize-1);
RegQueryValueEx(reg,'IPAddress',nil,@DataType,PByte(@s[1]),@DataSize);
result:=s;
end;
RegCloseKey(reg);
end;

procedure SetIP(key,value:string);
const
ifs='SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces';
var
reg: HKey;
begin
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,PAnsiChar(ifs+'\'+key),0,KEY_SET_VALUE,reg)=ERROR_SUCCESS then
RegSetValueEx(reg,'IPAddress',0,REG_MULTI_SZ,PAnsiChar(value),Length(value));
RegCloseKey(reg);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if ComboBox1.Items.Count=0 then Exit;
SetIP(IList[ComboBox1.itemIndex],Edit1.Text);
Edit1.Text:=ReadIP(IList[ComboBox1.ItemIndex]);
end;

procedure TForm1.FormCreate(Sender: TObject);
const
nwc='SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards';
var
card,reg: HKey;
DataType, DataSize: DWORD;
buf: array[0 .. 1000] of char;
index: longint;
s: string;
begin
IList:=TStringList.Create;
RegOpenKey(HKEY_local_machine, nwc, card);
index:=0;
while RegEnumKey(card, index, buf, Sizeof(buf))=ERROR_SUCCESS do
begin
if RegOpenKeyEx(card,buf,0,KEY_QUERY_VALUE,reg)=ERROR_SUCCESS then
begin
RegQueryValueEx(reg,'Description',nil,@DataType,nil,@DataSize);
SetLength(s, DataSize-1);
RegQueryValueEx(reg,'Description',nil,@DataType,PByte(@s[1]),@DataSize);
ComboBox1.Items.Add(s);
RegQueryValueEx(reg,'ServiceName',nil,@DataType,nil,@DataSize);
SetLength(s, DataSize-1);
RegQueryValueEx(reg,'ServiceName',nil,@DataType,PByte(@s[1]),@DataSize);
IList.Add(s);
RegCloseKey(reg);
end;
inc(index);
end;
RegCloseKey(card);
With ComboBox1 do if Items.Count>0 then begin
ItemIndex:=0;
Edit1.Text:=ReadIP(IList[0]);
end;
end;

procedure TForm1.ComboBox1Select(Sender: TObject);
begin
if ComboBox1.Items.Count=0 then Exit;
Edit1.Text:=ReadIP(IList[ComboBox1.ItemIndex]);
Button1.Enabled:=true;
end;

end.
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 16.01.2007, 23:18   #4
micaell
Пользователь
 
Аватар для micaell
 
Регистрация: 01.12.2006
Сообщений: 32
Восклицание

что-то эта тема не пашет! что нужно подключить?
La iniciativa, control, respeto - las prioridades del vencedor.
micaell вне форума Ответить с цитированием
Старый 16.01.2007, 23:25   #5
-=DeS=-
Форумчанин
 
Аватар для -=DeS=-
 
Регистрация: 20.12.2006
Сообщений: 135
По умолчанию

Тебе где именно надо? В сети, в интернете?
writeln('Hello Dude!!!');
-=DeS=- вне форума Ответить с цитированием
Старый 16.01.2007, 23:26   #6
micaell
Пользователь
 
Аватар для micaell
 
Регистрация: 01.12.2006
Сообщений: 32
По умолчанию

В интернете! Но даже то что написано не компилится!
La iniciativa, control, respeto - las prioridades del vencedor.
micaell вне форума Ответить с цитированием
Старый 23.01.2007, 18:15   #7
carnale
Новичок
Джуниор
 
Регистрация: 15.01.2007
Сообщений: 1
Восклицание

Народ, подскажите по данной теме! Как менять или возвращать IP-адресс, который можно перехватить в Интернете?
carnale вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в MsgBox менять шрифт valerij Microsoft Office Excel 3 11.08.2008 23:24
Image не хочет цвет менять Roof Компоненты Delphi 3 04.08.2008 01:33
Надоели менять настройки раб.стола Vladislav Компьютерное железо 4 25.05.2008 21:16
Sms через Delphi delphin100 Общие вопросы Delphi 1 26.09.2007 18:40
как менять стили?? oLMeR Свободное общение 3 10.11.2006 14:27