Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.02.2008, 20:19
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Вопрос Вопрос об IP адресах

Как возможно изменить 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  
Старый 18.02.2008, 15:06
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Не, нельзя!

Последний раз редактировалось ~ SaM ~, 18.02.2008 в 15:11.
Ответить с цитированием
  #3  
Старый 18.02.2008, 16:54
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Печаль неужели

очень жаль
Может всё-таки есть какой-то способ...
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #4  
Старый 19.02.2008, 02:07
Liver Liver вне форума
Прохожий
 
Регистрация: 19.02.2008
Сообщения: 1
Репутация: 10
По умолчанию

Конечно есть.)
Параметры подключений сохраняются в реестре.
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
В этой ветке реестра винда соотносит имя адаптера(сетевухи) и с его сервисным именем. В общем, смотришь имя нужного адаптера и запоминаешь id (че-то типа {3В003931-B2B8-47F6-AAAF-43150ED8AAE2}), присвоенный ему.
Дальше лезешь в
Код:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{id адаптера}
и изменяешь нужные тебе параметры. Программно реализовать очч просто.
Гугл рулит..)
Ответить с цитированием
  #5  
Старый 19.02.2008, 17:15
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Печаль

Реализовал, тестирую и значения:
IP-адрес:ставится ....(не работает)
Маска подсети:ставится ....(не работает) // Вот пишу:'255.255.0.0'
Основной шлюз:ставится ....(не работает)
Предпочитаемый DNS-сервер:всё работает нормально
Алтернативный-DNS-сервер:всё работает нормально
Кстати, у меня по адресу:HKEY_USERS->S-1-5-21-861567501-583907252-682003330-500->номер адаптера->тоже есть настройки, причем без всего лишнего, они изменяются, но ни как не влияют.
Какие идеи ?
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #6  
Старый 19.02.2008, 18:21
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

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  
Старый 19.02.2008, 20:23
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
По умолчанию

не очень-то удобно с bat-ами, может програмно знает кто-то способ ?
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #8  
Старый 19.02.2008, 20:44
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Смотри какая штука... Дело в том что изменять айпи через реестр можно только в 98/98SE винде. В NT/2000/XP/VISTA это не возможно(ну по крайней мере я такого не видел/слышал/читал). Что мешает написать на Delphi программу в одну строку(ассоциативное выполнение батника)? Просто закинуть их куда-либо и вызывать!?
Ответить с цитированием
  #9  
Старый 20.02.2008, 13:21
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Радость

Выдает ошибку:
Код:
╤ьхэр эрёЄЁюхъ ёхЄш эр ёыхфє■∙шх:
    IP: 192.168.1.228/255.255.255.0
    ╪ы■ч: 192.168.1.1

Указан недопустимый интерфейс: "╧юфъы■ўхэшх яю ыюъры№эющ ёхЄш".

Для продолжения нажмите любую клавишу . . .
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей

Последний раз редактировалось Oleg, 20.02.2008 в 13:28.
Ответить с цитированием
  #10  
Старый 20.02.2008, 14:07
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

У меня все нормально. Во вложении справка по использованию этой функции
Изображения
Тип файла: jpg 1.jpg (65.2 Кбайт, 23 просмотров)
Ответить с цитированием
  #11  
Старый 21.02.2008, 10:23
miha) miha) вне форума
Прохожий
 
Регистрация: 21.02.2008
Сообщения: 6
Репутация: 10
По умолчанию )

Вот так брат тебе нужно сделать))
в делфи есть такая штука как 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  
Старый 21.02.2008, 13:43
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Радость

miha), я это знаю и так сделал, но не знаю как последний параметр поставить пустым:
Код:
ShellExecute(Handle, 'open','netsh','interface ip set address name="Подключение по локальной сети" static 192.168.1.228 255.255.255.0 ЗДЕСЬ.ЗДЕСЬ.ЗДЕСЬ.ЗДЕСЬ 1', nil, SW_SHOWNORMAL);
Просто оставить пустым не получается, ни пробелы, не подчеркивания, а как это сделать не знаю.
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #13  
Старый 21.02.2008, 13:48
miha) miha) вне форума
Прохожий
 
Регистрация: 21.02.2008
Сообщения: 6
Репутация: 10
По умолчанию

не пойму если просто шлюз не нужен так не пиши ни че после маски)
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  
Старый 21.02.2008, 14:33
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Счастье

"не пойму если просто шлюз не нужен"
Нет, ты не правильно понял, нужно сделать так, чтобы все его значения были пустыми
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #15  
Старый 21.02.2008, 15:48
miha) miha) вне форума
Прохожий
 
Регистрация: 21.02.2008
Сообщения: 6
Репутация: 10
По умолчанию

смотри выше он и так останиться пустым если не прописываешь его IP
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter