关于网络方面的高手请进,到底有没有人会呀,高手在那里??? (100分)

  • 主题发起人 主题发起人 asiasmm
  • 开始时间 开始时间
A

asiasmm

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要一种方法能知道计算机在连网时的DNS服务器地址。
最好给出程序代码,如果有控件更好。
下面的代码并不实用,有些情况并不能的到当时的DNS服务器。
请诸位高手赐教?

例如,把 DNS Server的地址添加为192.0.0.1和192.1.1.0,可调用:

SetTCPIPDNSAddresses('192.0.0.1 192.1.1.0') ;

// 各地址之间用一个空格隔开
1. SetTCPIPDNSAddresses 定义如下:
procedure SetTCPIPDNSAddresses( sIPs : string );
begin
//
// if using Windows NT
//

SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEM/CurrentControlSet' +
'/Services/Tcpip/Parameters'
'NameServer'
sIPs );

//
// if using Windows 95
//
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEM/CurrentControlSet' +
'/Services/VxD/MSTCP'
'NameServer'
sIPs );
end;
2. 其中 SaveStringToRegistry_LOCAL_MACHINE 定义:
uses Registry;
procedure SaveStringToRegistry_LOCAL_MACHINE(
sKey
sItem
sVal : string );
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString( sKey
sItem
sVal + #0 );
reg.Free;
end;
 
应该API有接口,我知道很多程序都能检测到当前连接的DNS,包括ifconfig, 和一些邮件发送程序。
不行,跟踪程序肯定可以找出来
 
大不了运行IPConfig,然后分析输出的结果(纯文本)。
这样不就可以了?
 
我需要更好的查询方式,另外如何将ipconfig的结果输出为文本格式?
还有没有其他好的方法?
 
在98和NT中的查询命令是不一样的,所以上面的应该不是最好的方法
 
接受答案了.
 
后退
顶部