查找共享目录??(50分)

  • 主题发起人 主题发起人 DNA_32
  • 开始时间 开始时间
D

DNA_32

Unregistered / Unconfirmed
GUEST, unregistred user!
如何以编程的形式查找网上邻居中计算机名下的共享目录???
例:网上邻居->域1->Pc1->(??????)->以下的可以找到;
 
我用以下方法可以得到某一工作组内的所有主机或某一主机内的所有共享文件夹名
procedure TSearchFileThread.Execute;//线程,也可以不用线程,用一个过程就行。
Var
EnumHandle : THandle;
FileRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : DWord;
Entries : DWord;
Result : Integer;
begin
mydir := mydir + #0;//mydir为工作组名时可以得到组内所有主机名
//mydir为主机名时可以得到机内所有共享文件夹名
FillChar(FileRS, SizeOf(FileRS) , 0);
With FileRS do begin
dwScope := 2;
dwType := 3;
dwDisplayType := 1;
dwUsage := 2;
lpRemoteName := @mydir[1];
end;
WNetOpenEnum( RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
0,
@FileRS,
EnumHandle );
Repeat
Entries := 1;
BufSize := SizeOf(Buf);
Result := WNetEnumResource( EnumHandle,Entries,@Buf,BufSize );
If (Result = NO_ERROR) and (Entries = 1) then
begin
s:= StrPas(Buf[1].lpRemoteName); //得到网上资源名,主机或文件夹
Synchronize(AddFile); //Form1.ListBox1.Items.Add(s);
end ;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end;
如令mydir 为WorkGroup则可得到WorkGroup内所有计算机名
如令mydir 为//201 则可得到主机//201内所有共享文件夹名

你可以参考一下这个程序:http://delphi.mychangshu.com/dispdoc.asp?id=689
 
谢谢,,谢谢,,再谢谢!!
 
从技巧里面抄袭的,不算!哈哈。。。
 
接受答案了.
 
后退
顶部