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

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

Как программно поменять IP


ratmir ©   (2007-08-03 12:21:00) 

Как программно поменять IP и другие параметры сети. Вариант с реестром ненужен.


Сергей М.   (2007-08-14 11:31:00) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=698
http://forum.vingrad.ru/forum/topic-164268.html


ratmir   (2007-08-14 11:14:00) [2]

Тогда как, или в каком направлении копать


Сергей М.   (2007-08-14 08:03:00) [3]


> В данном скрипте нельзя сделать выбор сетевого адаптера
> или обнулить DNS


В этом да, нельзя.
Но ничто не мешает изменить его для работы с извне задаваемыми параметрами.


> можно ли это реализовать средствами Delphi


Можно.


ratmir   (2007-08-14 07:22:00) [4]

В начале я так хотел, создаю vbs файл с нужными параметрами и просто запускаю его. Но мне интересно можно ли это реализовать средствами Delphi используя API функции или другие библиотеки. В данном скрипте нельзя сделать выбор сетевого адаптера или обнулить DNS. Есть программа NetSetMan которая все прекрасно делает изменения сети еще. Мне стало интересно можно сделать тоже самое на Delphi или нет
Извеняюсь за несвязанность (мысли путаются)


Сергей М.   (2007-08-13 13:05:00) [5]


> как это реализовать на Delphi.


Да прямо так и реализуй - с помощью Делфи запусти на выполнение штатное приложение cscript.exe, передав ему параметром ком.строки имя vbs-файла, содержащего упомянутый тобой скрипт.


ratmir   (2007-08-13 12:31:00) [6]

Я нашел как менять IP DNS маски и подмаски, но не на Delphi, а с помощью скрипта и не надо перегружать ком. Мне интересно как это реализовать на Delphi.
код скрипта взят из Королевство Delphi
Создаешь в блокноте новый файл... вставляешь туда код скрипта:

-----------------------------------------------------------

Option Explicit
Dim NetworkAdapter, AdapterConfiguration 'Objects
Dim IPAddress, SubnetMask, Gateway, DNS, DNS1 'String Arrays
Dim RetVal 'Integers

For Each NetworkAdapter In GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapter")

If NetworkAdapter.AdapterType = "Ethernet 802.3" Then

For Each AdapterConfiguration In GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")

If UCase(AdapterConfiguration.ServiceName) = UCase(NetworkAdapter.ServiceName) Then

IPAddress = Array("172.119.60.90")

SubnetMask = Array("255.255.255.252")

Gateway = Array("172.119.60.89")

DNS = Array("134.85.113.245", "134.85.113.244")

RetVal = AdapterConfiguration.EnableStatic(IPAddress, SubnetMask)

RetVal = AdapterConfiguration.SetGateways(Gateway)

RetVal = AdapterConfiguration.SetDnsServerSearchOrder(DNS)

End If

Next

End If

Next

WScript.Echo "Настройка IP выполнена!"

------------------------------------------------------------
потом файл этот переименовыешь в      <имя файла>.vbs

создаешь сколько хочешь таких файлов для разных вариантов IP


umbra   (2007-08-06 12:31:00) [7]


> Если использовать реестр то нужно иногда перезагружать комп

только в 98-й виндовс. В ХР не надо.


ratmir   (2007-08-06 12:15:00) [8]

Если использовать реестр то нужно иногда перезагружать комп. что не надо. Есть программа NetSetMan которая все как надо делает. Мне интересно самому разобраться как это делается


umbra   (2007-08-03 13:40:00) [9]

SetAdapterIPAddress


clickmaker   (2007-08-03 13:10:00) [10]


> Вариант с реестром ненужен.

почему?


Наверх

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