Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

IP адрес выданный провайдером   Найти похожие ветки 

 
Dush   (2006-06-02 14:49) [0]

Доброго времени суток!
Подскажите пожалуйста как можно определить IP адрес выданный провайдером. Сложность в том, что на машине есть сетевая карта для локалки и подключен модем. При подключении интернета провайдер динамически назначает IP-адрес. Вот его и надо узнать.
Или подскажите где искать информацию.


 
Сергей М. ©   (2006-06-02 14:58) [1]

Самое простое - запустить программно IPCONFIG.EXE и программно же проанализировать выводимую им информацию об IP-интерфейсах.


 
Dush   (2006-06-02 15:01) [2]

но мне нужно в своей программе это определить.
и еще вопрос - можно ли при помощи системных событий отследить момент подключения к интеренету?


 
Сергей М. ©   (2006-06-02 15:05) [3]


> мне нужно в своей программе это определить


Если ты не умеешь организовать программный ввод/вывод для консоли - тебе в "Начинающие"... Или в "Общие" (как карта ляжет)...


> можно ли при помощи системных событий отследить момент подключения
> к интеренету?


Нельзя.

Потому что "подключиться к Интернету" нельзя.


 
thaddy   (2006-06-19 20:20) [4]

This may help :)

[CODE]
program ipvcl;
// IP info, by Thaddy de Koning
uses
 Windows, classes, sysutils, urlmon, winsock;

function GetTempFile:String;
var
 Path:String;
 Len:Cardinal;
begin
 Len := GetTempPath(0,nil);
 SetLength(Path,Len);
 GetTempPath(Len,PChar(Path));
 SetLength(Result, MAX_PATH);
 GetTempFileName(PChar(Path),nil,0,PChar(Result));
 Setlength(Result,Strlen(PChar(Result)));
end;

// obtains your outside world IP.
function GetWanIP:String;
var
TempList: Tstrings;
len: integer;
DestFile:String;
const
 SourceFile = "http://www.whatismyip.com/";
begin
 DestFile:=GetTempFile;
 if UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = S_OK then
 begin
   TempList:= Tstringlist.create;
   try
     Templist.loadfromfile(DestFile);
     DeleteFile(PChar(DestFile));
     Result:=TempList[4];
   finally
     TempList.Free;
   end;
   Len:=Length(Result)-31;
   if len >= 7 then //0.0.0.0
     Result:= Copy(Result,24,Len)
  end;
end;

// obtain the local IP and hostname
function GetIPFromHost(var HostName, IPaddr, WSAErr: string): Boolean;
var
 HEnt: pHostEnt;
 WSAData: TWSAData;
 T:TSockAddrIn;
begin
 Result := False;
 if WSAStartup($0101, WSAData) = S_OK  then
 try
   IPaddr := "";
   Setlength(Hostname,100);
   if GetHostName(PChar(HostName), length(HostName)) = S_OK then
   begin
     SetLength(HostName,Strlen(Pchar(HostName)));
     HEnt := GetHostByName(PChar(HostName));
     CopyMemory(@T.sin_Addr,PChar(Hent^.h_addr_list^),Hent^.h_length);
     IpAddr:=inet_ntoa(T.sin_addr);
     Result := True;
   end
 finally
   WSACleanup;
 end
 else
   WSAErr:=SysErrorMessage(WSAGetLastError);
end;

var
 Host, IP, Err: string;
begin
 if GetIPFromHost(Host, IP, Err) then
   messagebox(0,PChar("Your Hostname: "+host+#13+
      "Your Dialup or LAN IP: "+IP+#13+
      "Your WAN IP: "+GetWanIp),"Network Info",MB_OK or MB_ICONINFORMATION)
 else
   MessageBox(0,PChar(Err),"",MB_OK or MB_ICONERROR);
end.
[/CODE]



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
15-1160683005
PHPDeveloper
2006-10-12 23:56
2006.11.05
Yandex


2-1161512417
Terminator2006
2006-10-22 14:20
2006.11.05
ListView


15-1161070678
Kolan
2006-10-17 11:37
2006.11.05
Обещаный фото со свадьбы :)


15-1160666005
vidiv
2006-10-12 19:13
2006.11.05
дайте скачать 3dsmax =)


15-1161074442
ZeroDivide
2006-10-17 12:40
2006.11.05
Мне стыдно за мой универ :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский