VC++没有提供专门的相关函数,但是可以通过访问一个查询IP的网页来获取本机的公网IP。给你找了个小例子你看下吧,不过得修改下之后移植到你的程序中: TCHAR szTempFile [MAX_PATH]; UINT nResult=GetTempFileName (szTempPath, _T ("~ex"),0,szTempFile); int ret=URLDownloadToFile(NULL,"http://www.ip138.com/ip2city.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!");