C++ Ustawienie IP

0

Mam takie pytanko.
Czy koś może wie jak programowo ustawić adres IP, maskę, bramę i DNS?
Można by zmieniać to w rejestrze, ale rejestry się różnią w zależności od systemów, a chodzi mi o proste odpalenie programiku, żeby poustawiał odpowiednie adresy.
Czy koś się spotkał z jakąś funkcją, która by to realizowała?
Dzięki z góry.

0

tutaj jest na IP oni-line:

#include <winsock2.h>


void __fastcall TForm1::Button1Click(TObject *Sender)
{
char buff[100];
hostent *lphe;
WSADATA WSAData;

WSAStartup(MAKEWORD(2, 0), &WSAData);

gethostname(buff, 100);
lphe = gethostbyname(buff);
Label1->Caption = AnsiString(inet_ntoa(*(in_addr*)*lphe->h_addr_list));
WSACleanup();
} 

a tutaj w LAN'ie:

AnsiString GetIP(String nam)
{
WSADATA data;
HOSTENT *pH;
in_addr addr;
AnsiString IP = "";
if(WSAStartup(MAKEWORD(1,1), &data)) return "";
pH = gethostbyname(nam.c_str());
if(pH)
{
if(pH->h_addr)
{
memcpy (&addr, pH->h_addr,pH->h_length);
IP = AnsiString(inet_ntoa(addr));
}
}
else
IP="Niedostępny"; WSACleanup();
return IP;
0

Hmm, mnie nie chodziło o odczytanie czyjegoś IP tylko o ustawienie czy zmianę swojego adresu IP. Mimo wszystko dzięki.

Z tego co przeglądałem to proponują ustawianie IP przez rejestr, tylko że różne windowsy mają czasem duże różnice.
Dlatego chciałbym znaleźć jakąś funkcję API.

A może ktoś wie jakie są różnice dotyczące konfiguracji IP (w tym dhcp, maski, bramy) w rejestrach windowsów 95, 98, Me, Xp , albo jakiś link to takich porównań
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1