![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Как возможно изменить IP адреса:
IP-адрес:X.X.X.X Маска подсети:X.X.X.X Основной шлюз:X.X.X.X Предпочитаемый DNS-сервер:X.X.X.X Алтернативный-DNS-сервер:X.X.X.X А то очень не удобно использовать одни адреса для соединения с интернетом, другие для сети. Как можно их изменять програмно, т.е. записывать. |
|
#2
|
|||
|
|||
|
Не, нельзя!
Последний раз редактировалось ~ SaM ~, 18.02.2008 в 15:11. |
|
#3
|
||||
|
||||
|
очень жаль
Может всё-таки есть какой-то способ... |
|
#4
|
|||
|
|||
|
Конечно есть.)
Параметры подключений сохраняются в реестре. Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards Дальше лезешь в Код:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{id адаптера}Гугл рулит..) |
|
#5
|
||||
|
||||
|
Реализовал, тестирую и
значения:IP-адрес:ставится ....(не работает) Маска подсети:ставится ....(не работает) // Вот пишу:'255.255.0.0' Основной шлюз:ставится ....(не работает) Предпочитаемый DNS-сервер:всё работает нормально Алтернативный-DNS-сервер:всё работает нормально Кстати, у меня по адресу:HKEY_USERS->S-1-5-21-861567501-583907252-682003330-500->номер адаптера->тоже есть настройки, причем без всего лишнего, они изменяются, но ни как не влияют. Какие идеи ? ![]() |
|
#6
|
|||
|
|||
|
Oleg
Я тебя сначала неправильно понял. Delphi тебе вовсе не нужна. Необходимо следующее 1. Пуск -> Выполнить... или нажать комбинацию клавиш Windows+R (Windows - клавиша между левыми или правыми Ctrl и Alt с логотипом Windows) 2. Ввести команду: netsh interface ip set address name="Подключение по локальной сети" static 192.168.1.228 255.255.255.0 192.168.1.1 1 Расшифровка: Подключение по локальной сети - имя нужного подключения 192.168.1.228 - ip адрес 255.255.255.0 - маска подсети 192.168.1.1 1 - адрес шлюза и метрика, если такового нет, то последние 2 параметра (192.168.1.1 1) указывать не надо Что из этого получается: Сделай один/два/десять bat файлов и пиши в них следующее: Код:
echo off
cls
echo Смена настроек сети на следующие:
echo IP: 192.168.1.228/255.255.255.0
echo Шлюз: 192.168.1.1
netsh interface ip set address name="Подключение по локальной сети" static 192.168.1.228 255.255.255.0 192.168.1.1 1
pauseНу соответственно вводи необходимые айпишники и маску. |
|
#7
|
||||
|
||||
|
не очень-то удобно с bat-ами, может програмно знает кто-то способ ?
|
|
#8
|
|||
|
|||
|
Смотри какая штука... Дело в том что изменять айпи через реестр можно только в 98/98SE винде. В NT/2000/XP/VISTA это не возможно(ну по крайней мере я такого не видел/слышал/читал). Что мешает написать на Delphi программу в одну строку(ассоциативное выполнение батника)? Просто закинуть их куда-либо и вызывать!?
|
|
#9
|
||||
|
||||
|
Выдает ошибку:
Код:
╤ьхэр эрёЄЁюхъ ёхЄш эр ёыхфє■∙шх:
IP: 192.168.1.228/255.255.255.0
╪ы■ч: 192.168.1.1
Указан недопустимый интерфейс: "╧юфъы■ўхэшх яю ыюъры№эющ ёхЄш".
Для продолжения нажмите любую клавишу . . .Последний раз редактировалось Oleg, 20.02.2008 в 13:28. |
|
#10
|
|||
|
|||
|
У меня все нормально. Во вложении справка по использованию этой функции
|
|
#11
|
|||
|
|||
|
Вот так брат тебе нужно сделать))
в делфи есть такая штука как ShellExecute в модуле ShellApi вот пример ShellExecute(Handle, 'open','netsh','interface ip set address name="Подключение по локальной сети" static 192.168.1.228 255.255.255.0 192.168.1.1 1', nil, SW_SHOWNORMAL); и алга) а чтоб в бате работало первой строчкой пропиши chcp 1251 или chcp 866 Последний раз редактировалось miha), 21.02.2008 в 11:34. |
|
#12
|
||||
|
||||
|
miha), я это знаю и так сделал, но не знаю как последний параметр поставить пустым:
Код:
ShellExecute(Handle, 'open','netsh','interface ip set address name="Подключение по локальной сети" static 192.168.1.228 255.255.255.0 ЗДЕСЬ.ЗДЕСЬ.ЗДЕСЬ.ЗДЕСЬ 1', nil, SW_SHOWNORMAL); |
|
#13
|
|||
|
|||
|
не пойму если просто шлюз не нужен так не пиши ни че после маски)
ShellExecute(Handle, 'open','netsh','interface ip set address name="Подключение по локальной сети" static 192.168.1.228 255.255.255.0', nil, SW_SHOWNORMAL); че ни четко?? все четко)) Последний раз редактировалось miha), 21.02.2008 в 13:51. |
|
#14
|
||||
|
||||
|
"не пойму если просто шлюз не нужен"
Нет, ты не правильно понял, нужно сделать так, чтобы все его значения были пустыми ![]() |
|
#15
|
|||
|
|||
|
смотри выше он и так останиться пустым если не прописываешь его IP
|