局域网中有什么办法可以获取一台机器的所在域的域名?(100分)

  • 主题发起人 主题发起人 celkelly
  • 开始时间 开始时间
C

celkelly

Unregistered / Unconfirmed
GUEST, unregistred user!
局域网中有什么办法可以获取一台机器的所在域的域名?

或者怎样找到它所在的网域的所有的SQL SERVER服务器
 
用 WinExec从Windows程序中调用Dos Shell命令Nslookup可以用来查询DNS的域名和IPd地址
WinExec(pchar('command.com /c nslookup aaa >'+Temp),sw_hide); Temp:String;用来保存
临时文件名 windows NT/2000下的Dos shell命令Nslookup可以
 
Server: UnKnown
Address: 127.0.0.1

文件里是這個內容,不好用啊!!
 
大本营里有得到局域网中所有SQLSER服务器代码
 
给你个具体例子吧

Form上放一个button,再放两个Edit,edit1标识DNS域名,edit2标识DNS IP,
还需要一个Memo设其Visible为false
先在var中声明一全局变量temp:string;用于存放文件名,
然后在form.create事件中:
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Lines.Clear;
temp := 'c:/Temp.txt';
end;

在button1.click事件中:

procedure TForm1.Button1Click(Sender: TObject);
var
str : string;
begin
memo1.Lines.Clear;
if FileExists(Temp) then
DeleteFile(Temp);
WinExec(pchar('Command.com /c nslookup aaa > '+temp),sw_hide);
while not FileExists(temp) do
sleep(1000);
try
memo1.Lines.LoadFromFile(temp);
str := copy(memo1.Lines[0],10,30);
edit1.Text := str;
str := copy(memo1.Lines[1],11,20);
edit2.text := str;
except
end;
end;

在Form.close事件中:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if FileExists(temp) then
DeleteFile(temp);
end;
如果你再不成功,那就faint了,呵呵,我这儿也是局域网,结果完全正确
 
:( 結果一樣
 
你要是局域网通都不通,怎么才能获得域名?当我是网络禁用时,和你的结果才是一样的!
 
多人接受答案了。
 
后退
顶部