如题!

解决方案 »

  1.   

    use WMI
    http://expert.csdn.net/Expert/topic/2245/2245069.xml?temp=.1807978
      

  2.   

    CString CMainFrame::GetDns()
    {
        CString szDNSDomain;
        CString szDomainName;
        LONG nResult = S_OK;

        // Find DNS domain with IP Helper API (function GetNetworkParams)
        // CAUTION: this code should run on Windows 2000 and Windows Me only
        PFIXED_INFO pNetInfo = (FIXED_INFO *)GlobalAlloc(GPTR, sizeof(FIXED_INFO));
        ULONG nNetInfoSize = sizeof(FIXED_INFO);
        DWORD nErrorCode = GetNetworkParams(pNetInfo, &nNetInfoSize);
        if (nErrorCode == ERROR_BUFFER_OVERFLOW) {
            // OK, buffer is too small but function returns the needed size
            GlobalFree(pNetInfo);
            pNetInfo = NULL;
            pNetInfo = (FIXED_INFO *)GlobalAlloc(GPTR, nNetInfoSize);
            nErrorCode = GetNetworkParams(pNetInfo, &nNetInfoSize);
        }
        if (nErrorCode == ERROR_SUCCESS) {

    return CString(pNetInfo->DnsServerList.IpAddress.String);
        }
    return "";


    }