#include   "Winsock2.h " 
 #pragma comment(lib, "Ws2_32.lib")/// 注意字符串需以\0结尾 。 例如:lpzSeverName  = " www.baidu.com/0";
bool WINAPI Domain2IP(char*  lpzSeverName,  TString & strIp)
 {
 if (!lpzSeverName)return false;
 WORD   wVersionRequested  =  MAKEWORD(1,   1); 
 WSADATA   wsaData; 
 ZeroMemory(&wsaData, sizeof(wsaData));
 WSAStartup(wVersionRequested,   &wsaData); 
 hostent*   pHostent   =   gethostbyname(lpzSeverName); 
 sockaddr_in  sa; 
 ZeroMemory(&sa, sizeof(sa));
 memcpy(&sa.sin_addr.s_addr,pHostent-> h_addr_list[0],pHostent-> h_length); 
 std::string strTemp   =   inet_ntoa(sa.sin_addr);//IP 
 WSACleanup(); 


 TCHAR* lpzResult = NULL ;
 if (!strTemp.c_str())return  false;

 int nLen  = 0;
 #ifdef  UNICODE
 nLen =  ::MultiByteToWideChar(CP_ACP, 0, strTemp.c_str(), -1, NULL, 0); //include '\0' 
 lpzResult = new wchar_t [nLen]; 
 ::MultiByteToWideChar(CP_ACP, 0, strTemp.c_str(), -1, lpzResult, nLen);
 #else 
 nLen = strlen(lpzByte);
 lpzResult = new char[nLen + 1];
 StringCbCopy(lpzResult, nLen + 1, strTemp.c_str());
 #endif

 strIp = lpzResult;
 SAFE_DELETE(lpzResult);

 return true;
 }