C++将 DNS 条目添加到网络适配器中

发布于 2024-11-01 21:39:55 字数 57 浏览 1 评论 0原文

我必须以编程方式在 Windows 上的网络适配器设置中添加 DNS 服务器地址。编程语言是C++。

I have to programatically add DNS server address in network adapter settings on windows. Programming language is C++.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

把时间冻结 2024-11-08 21:39:55

您可以查看IP Helper API

您可以在那里找到如何使用它

You can take a look to the IP Helper API

You can find how to use it There

仅此而已 2024-11-08 21:39:55

使用 iphelp 设置 DNS 并在 CodeProject 注册

bool RegSetDNS(LPCTSTR lpszAdapterName, LPCTSTR pDNS)
{
    HKEY hKey;
    string strKeyName = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\";
    strKeyName += lpszAdapterName;
    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                strKeyName.c_str(),
                0,
                KEY_WRITE,
                &hKey) != ERROR_SUCCESS)
        return false;

    char mszDNS[100];

    strncpy(mszDNS, pDNS, 98);

    int nDNS;

    nDNS = strlen(mszDNS);

    *(mszDNS + nDNS + 1) = 0x00;    // REG_MULTI_SZ need add one more 0
    nDNS += 2;

    RegSetValueEx(hKey, "NameServer", 0, REG_SZ, (unsigned char*)mszDNS, nDNS);

    RegCloseKey(hKey);

    return true;
}

Setting DNS using iphelp and register at CodeProject.

bool RegSetDNS(LPCTSTR lpszAdapterName, LPCTSTR pDNS)
{
    HKEY hKey;
    string strKeyName = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\";
    strKeyName += lpszAdapterName;
    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                strKeyName.c_str(),
                0,
                KEY_WRITE,
                &hKey) != ERROR_SUCCESS)
        return false;

    char mszDNS[100];

    strncpy(mszDNS, pDNS, 98);

    int nDNS;

    nDNS = strlen(mszDNS);

    *(mszDNS + nDNS + 1) = 0x00;    // REG_MULTI_SZ need add one more 0
    nDNS += 2;

    RegSetValueEx(hKey, "NameServer", 0, REG_SZ, (unsigned char*)mszDNS, nDNS);

    RegCloseKey(hKey);

    return true;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文