4
如何從ip配置使用c + +獲得Windows DNS後綴serach列表? (.NET < = 3.5)如何獲得Windows DNS後綴搜索列表使用c + +
如何從ip配置使用c + +獲得Windows DNS後綴serach列表? (.NET < = 3.5)如何獲得Windows DNS後綴搜索列表使用c + +
您可以從註冊表中獲取它們。
如果從網絡控制面板設置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\SearchList
如果設置組策略:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\SearchList
使用Registry class to read,同一個類可以使用設置,但是,您將需要管理員權限這樣做。使用管理和WMI類
C#:
ManagementObjectSearcher q= new ManagementObjectSearcher("SELECT ServiceName,DNSDomainSuffixSearchOrder FROM Win32_NetworkAdapterConfiguration");// WHERE DNSDomainSuffixSearchOrder IS NOT NULL");
var qc= q.Get();
foreach (ManagementObject mo in qc)
{
if (mo.Properties["DNSDomainSuffixSearchOrder"] != null)
{
var s = mo.Properties["DNSDomainSuffixSearchOrder"];
if (s.Value != null)
{
Console.WriteLine(mo["ServiceName"]);
string[] sfxNames = s.Value as string[];
foreach (string sx in sfxNames)
{
Console.WriteLine(sx);
}
}
}
}
似乎是正確的,發現他們......但真的沒有WINAPI(比其他寄存器)來了嗎?像什麼東西少「設置的起源」依賴? – d3r0n 2013-04-24 08:38:35
懷疑Windows和網絡之間有一點斷開連接。這不是正常的擔心後綴,你只是要求在一個地址端點,其餘的是'魔術' – Adrian 2013-04-24 14:02:15
你也可以使用WMI查詢和設置,C#添加到答案,但應該很容易轉換爲C++ .net – Adrian 2013-04-24 14:02:58