我的方法是,直接访问一个能取得外网IP的页面
在Form1上放一个TNMHTTP
uses inInet
procedure TFrmMain.Button11Click(Sender: TObject);
begin
if InternetCheckConnection('http://www.yahoo.com/', 1, 0) then
begin
NMHTTP1.Get('http://www.bliao.com:2000/ip.phtml');
LocalIP.Text := NMHTTP1.Body;
LoginInfo.IPAddr := LocalIP.Text;
AdoTbl2.Edit;
AdoTbl2['LocalIP'] := LocalIP.Text;
AdoTbl2.Post;
LocalIP.SetFocus;
LocalIP.SelectAll;
end
else
MessageDlg('您还没有连接到因特网!', mtInformation, [mbOK], 0);
end;