Доброго времени суток! Появилась проблема с частой сменой сетевых настроек на ноуте: пользуюсь им в разных сетях, и в каждой свои специфические настройки. Тут и PPPoE, и VPN и WiFi. В ручную, честно говоря, трудновато (особенно вспоминать IPшники DNS серверов). И вот вопрос: как можно это автоматизировать? Хотелось бы найти решения 2х проблем: 1) определение, что что-то поменялось в сетевом окружении ну и что именно тоже полезно узнать, 2) непосредственно смена настроек: IP, DSN, шлюз. Что-то ничего не нашел дельного. Ткните хоть в Гуголь, хоть в MSDN. Текущая платформа - XP SP3. Заранее спасибо! P.S. Готовые бинарники прог предлагать только в качестве примеров! Полные исходники тоже не хочу
IceStudent Уже гуглю... Конечно сам. А зачем? Если бы все пользовались только готовеньким, то ничего толкового бы не вышло. А как же саморазвитие и азарт разработки? Я лучше потрачу недельку-другую на небольшую программу и потом буду ей пользоваться и подстраивать под себя, чем тупо скачаю готовую... UPD: Догуглился... Скачал. Завтра потестирую. Но все-таки хотелось бы найти программное решение (код).
Как вариант, использовать netsh: "побывав" в каждой сети, сохранить ее настройки в файл, а затем просто применять нужные кликнув на нужном батнике.
nester7 Ну как вариант. Но хотелось бы обойтись без сторонних программ. Потому и спрашиваю, что сам хочу написать. С вашей помощью советом и нужным направлением
Xerx А это не сторонняя - родная. Код (Text): C:\>netsh interface ip dump > c:\lan.cfg C:\>type c:\lan.cfg # ---------------------------------- # Interface IP Configuration # ---------------------------------- pushd interface ip # Interface IP Configuration for "Local Area Connection" set address name="Local Area Connection" source=static addr=192.168.35.3 mask=255.255.255.0 set address name="Local Area Connection" gateway=192.168.35.2 gwmetric=0 set dns name="Local Area Connection" source=static addr=192.168.35.2 register=PRIMARY set wins name="Local Area Connection" source=static addr=none popd # End of interface IP configuration C:\>type c:\lan.cfg | netsh Вроде того.
nester7 Да я знаю, как пользоваться netsh. Под "сторонними" подразумевалось использование любых "не моих" программ. Я же писал в первом посте, что самостоятельно хочу разобраться и сделать и прошу только направления куда копать. А лезть в отладчик, чтобы выяснить как работает, нет времени: учеба и работа...
у меня та же фигня и я сам писал такую прогу. создает список профилей, каждый профиль содержит [IP, mask, gateway, dns1, dns2]. можно на лету перезагружать профили. смотри в сторону: - GetAdaptersAddresses для получения списка адаптеров - GetIpAddrTable,GetInterfaceInfo для получения инфы на адаптер - недокументированной SetAdapterIpAddresses и прямой правки значений реестра в ключе HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ для установки новых IP/Mask/GW/DNS если интерсно, код могу скинуть.
Great Спасибо большое! Вот то, что и просил Код не надо - сам попробую. Если только какие затруднения возникнут - напишу здесь. UPD: Проблема была именно в знании "недокументированной функции" и ветки реестра. Функции получения эти я уже использовал в свое время. Именно задавать не мог. А эта ветка не меняется в разных сервис паках?