一个获取外网IP的小程序bool GetIPAddress(char *szIP,char *szFileName)
bool GetIPAddress(char *szIP,char *szFileName) { //szIP是一个接受IP的buff //szFileName是一个ip138返回的页面存储的本地文件 //http://www.ip138.com/ip2city.asp HRESULT hResult = NULL; hResult = URLDownloadToFileA(0,"http://iframe.ip138.com/ic.asp",szFileName,0,NULL); if (S_OK != hResult) { return false; } DWORD dwRead = 0; char szBuffer[1024] = {0}; HANDLE hReadFile = INVALID_HANDLE_VALUE; //把ip138返回的信息读取出来 hReadFile = CreateFileA(szFileName,GENERIC_READ,NULL,NULL,OPEN_EXISTING,NULL,NULL); if (INVALID_HANDLE_VALUE == hReadFile) { return false; } ReadFile(hReadFile,szBuffer,sizeof(szBuffer),&dwRead,NULL); CloseHandle(hReadFile); DeleteFileA(szFileName); int iLen = 0; char *szEnd = NULL; char *szBegin = NULL; szBegin = StrStrIA(szBuffer,"您的IP是:["); if (NULL == szBegin) { return false; } szBegin += lstrlenA("您的IP是:["); szEnd = StrStrIA(szBegin,"]"); if (NULL == szEnd) { return false; } iLen = szEnd - szBegin; lstrcpynA(szIP,szBegin,iLen + 1); return true; }