Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение параметров сети [D6, Win2k]


Net-man ©   (2005-01-24 14:02:00) 

Как можно изменить параметры сети -- изменить IP, маску подсети ...

Может кто знает где почитать или компоненты есть какие ?


XmeD   (2005-01-24 17:12:00) [1]

//--------- Procedure for windows98 -------------------
Procedure Set_IP_AND_MASK98(IP,Mask,GatWay: String);
var
   i,NumDev: integer;
begin
//Initialization----------------------------------------
   Keyslist:=TstringList.Create;
   Registry1:=TRegistry.Create;
//Detect net devices------------------------------------
   Registry1.RootKey:= hkey_local_machine;
   Registry1.OpenKey('System\CurrentControlSet\Services\Class\Net',True);
   Registry1.GetKeyNames(Keyslist);
   Registry1.CloseKey;
//Detect phisical net device-----------------------------
   For I:=0 to KeysList.Count-1 do
   Begin
       Registry1.OpenKey('System\CurrentControlSet\Services\Class\Net\'+KeysList.Strings[i],True);
       If Registry1.ValueExists('IOBaseAddress')=True Then NumDev:=I;
       Registry1.CloseKey;
   End;
//Open device  & set setings------------------------------
   Registry1.OpenKey('System\CurrentControlSet\Services\Class\NetTrans\'+KeysList.Strings[NumDev],True);
   Registry1.WriteString('IPAddress',IP);
   Registry1.WriteString('IPMask',Mask);
   Registry1.WriteString('DefaultGateway',GatWay);
   Registry1.CloseKey;
//Deinitialization--------------------------------------
   Registry1.Free;
   Keyslist.Free;
   Beep;
   end;


Это только для 98, для НТ виндов через командную строку,

типа:

//--------- Procedure for windowsXP -------------------
Procedure Set_IP_AND_MASKXP(IP,Mask,GatWay: String);
var
   p: Pchar;
   s: string;
begin
//Initialization----------------------------------------

   s := 'netsh interface ip set address name="Подключение по локальной сети" source=dhcp'+
   ' set address local static' + ' ' + IP + ' ' + Mask + ' ' + GatWay + ' 1';

   p:=pchar(s);
   WinExec( @p[0], sw_show);
   beep;
end;


надо так... теоретически, сам если чесно сейчас ражаю как в НТ виндах изменить адресс, если разберешся или узнаеш другой способ - ВЫКЛАДЫВАЙ


Наверх

Титульная страница Поиск, карта сайта Написать письмо