Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
У меня, собственно, работает. 05.01.04 17:40 Число просмотров: 1618
Автор: IgorR <Igor Razin> Статус: Member
|
Это работает на ура:
typedef DWORD (WINAPI *SetAdapterIpAddressx )( char *szAdapterGUID,
DWORD dwDHCP, // Не проверял
DWORD dwNewIP, // Новый ИП
DWORD dwMask, // Маска
DWORD dwGateway // Гетвей
);
HINSTANCE lib = (HINSTANCE) LoadLibrary( T("iphlpapi.dll") );
SetAdapterIpAddressx SetAdapterIpAddress=(SetAdapterIpAddressx) GetProcAddress( lib,"SetAdapterIpAddress" );
CRegistry Reg;
PTSTR pszGUID = NULL;
char szGUID[64] = {0};
DWORD dwSize = 0;
// Отсюда удобней было выцеплять
Reg.Read( T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards\\1"),
T("ServiceName"),
(PVOID&) pszGUID,
&dwSize );
WideCharToMultiByte( CP_ACP, 0, pszGUID, -1, szGUID, sizeof( szGUID ), NULL, NULL );
SetAdapterIpAddress( szGUID, 0,
inet_addr("192.168.1.5"),
inet_addr("255.255.255.1"),
inet_addr("192.168.1.2") );
Пробовал под w2k и XP. Меняет на лету, без всяких передергиваний.
Спасибо за рульную инфу :)
|
|
|