Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
6-1149969194
Lex Luthor
2006-06-10 23:53
2006.11.05
Idpop3 показ сообщений в ListViewe


15-1160968658
Slider007
2006-10-16 07:17
2006.11.05
С днем рождения ! 14 октября


2-1161582359
X_ksandr_X
2006-10-23 09:45
2006.11.05
сортирвка DbGrid


4-1150349210
r@bbit
2006-06-15 09:26
2006.11.05
Как отличить виртуальный привод от реального?


2-1161145093
ДяволСД
2006-10-18 08:18
2006.11.05
TreeView