得到外網IP

來源:互聯網
上載者:User
/************************************************************************/        /* 函數說明:擷取當前外網IP地址                                           /* 參    數:無                                       /* 返 回 值:返回外網IP地址、CString類型字串        /* By:Koma   2009.08.21 14:12                                    /************************************************************************/    CString CQDlg::GetIPAddress()   {       char buf[MAX_PATH] = {0};       char chTempIp[128];       char chIP[64];       CString strPath;       strPath = GetExePath() + "\\netip.ini";       URLDownloadToFile(0,"http://www.ip138.com/ip2city.asp",strPath,0,NULL);              FILE *fp=fopen( strPath, "r" );       if ( fp != NULL )        {           fseek(fp, 0, SEEK_SET);           fread(buf,1,256,fp);           fclose(fp);           char* iIndex = strstr(buf,"[");           if (iIndex)            {               sprintf( chTempIp,"%s",iIndex);               int nBuflen = strlen(chTempIp);               for(int i =0; i<nBuflen; i++)               {                   chIP[i] = chTempIp[i+1];                                      if(chTempIp[i] == ']')                    {                       chIP[i-1] = '\0';                       DeleteFile(strPath);                       continue;                   }               }           }       }       CString strTemp="";       if(chIP != "")       {           strTemp.Format("%s",chIP);       }       return strTemp;   }     /************************************************************************/        /* 函數說明:擷取當前主機名稱                                           /* 參    數:無                                       /* 返 回 值:返回主機名稱、CString類型字串        /* By:Koma   2009.08.21 14:23                                    /************************************************************************/      CString CQDlg::GetHostName()   {       WORD wVersionRequested;       WSADATA wsaData;       int err;       wVersionRequested = MAKEWORD(2,0);       err = WSAStartup(wVersionRequested,&wsaData);       if(err != 0)       {           return err;       }       if(LOBYTE(wsaData.wVersion != 2) || HIBYTE(wsaData.wVersion) != 0)       {           WSACleanup();           return (char)WSAVERNOTSUPPORTED;       }              char    szHostName[256];       int     nRetCode;       CString str="";              //調用API來獲得主機名稱       nRetCode = gethostname(szHostName,sizeof(szHostName));       if(nRetCode != 0)       {           return WSAGetLastError();       }    if(szHostName != "")     {    str.Format("主機名稱:%s",szHostName);    }       return str;   }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.