Вопрос состоит в следующем, можно ли как нибудь изменить IP для сетевой карты. Тоесть то, что можно вручную поменять в настройках подключения (Свойства->TCP/IP) И где и кто хранит текущие параметры?
HKLM\System\ControlSet001\Services\tcpip\Parameters\Interfaces\{UID_нужного_тебе_сетевого_интерфейса} но я не уверен, что эти настройки хранятся только здесь, возможно для корректного вступления изиминений в силу прийдётся менять ещё какие-то параметры и рестартить какие-то сервисы
тоже в ветке CurrentControlSet и Services\{UID}\... Дело в том, что изменение этих значений в реестре не дает нужного эффекта. Может надо сервисы какие перезапустить... Только это не решение, так как при отключении сетевого подключения, статус сервисов не меняеться.
2 nester7: AddIP/DeleteIP добавляеют IP для адаптера. Я до конца так и не понял, что оно делает, но это не то. Эти функции ничего не меняют в реестре, и после переподключения пропадают из настроек TCP/IP, хотя апи для получения информации о сетевом адаптере их выдает, и машина доступна из сети по любому из IP. Но ?работать продолжает под первым IP?... Как я понял, для изменения адреса надо запретить сетевуху, править реестр, разрешить сетевуху. Как это можно сделать (кроме второго действия ?
ShellExecute("net stop "Network connections"....) RegSetValue() ShellExecute("net start "Network connections"....) Это просто как идея Ещё можно через Код (Text): DWORD SetIfEntry( PMIB_IFROW pIfRow ); попробовать, в той же последовательности, что и выше вместо ShellExecute().