![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно поменять 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]
> Вариант с реестром ненужен.
почему?