VC++获取本机公网IP

 

VC++获取本机公网IP,VC++没有提供专门的相关函数,但是可以通过访问一个查询IP的网页来获取本机的公网IP。

具体实现代码如下:

TCHAR szTempFile [MAX_PATH];
UINT nResult=GetTempFileName (szTempPath, _T ("~ex"),0,szTempFile);


int ret=URLDownloadToFile(NULL,"http://www.tf163.com/ver/netip.asp",szTempFile,BINDF_GETNEWESTVERSION,NULL);
if (ret==S_OK) //如果下载成功
{
   FILE *f;
   f=fopen(szTempFile,"rb");
   if(f)
   {
    fseek(f,0,SEEK_END);//得到文件大小
    int ilength=ftell(f);
    fseek(f,0,SEEK_SET);
   
    if(ilength>0)
    {  
    
     char *szIP[32];
     ZeroMemory(szIP,sizeof(szIP));
     fread(szIP,ilength,1,f);
     fclose(f);
     DeleteFile("ip.ini");
     CString csIp;
     csIp.Format("外网IP:%s",szIP);
    
     SetDlgItemText(IDC_EDIT_IP,csIp);
    
    }
   }
  
}
else
   SetDlgItemText(IDC_EDIT_IP,"Error!");

你可能感兴趣的:(File,null,Path,vc++)