Salut,
Pour un réseau du type Microsoft, tu peux utiliser les fonctions
WNetOpenEnum et WNetEnumResource :
Procedure TForm1.Enumeration( lpnr : PNetResourceA);
type
Table = Array[0..10000] of NetResource;
const
cbBuffer : Dword =16383;
cbEntries : Dword = dWord(-1);
var
i,Resu : DWord;
Hdl : THandle;
lpnrloc : ^Table ;
s : string;
begin
cbEntries:=Dword(-1);
resu := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, lpnr, Hdl);
New(lpnrloc);
resu := WNetEnumResource(Hdl, cbEntries ,@lpnrloc[0] ,cbBuffer);
if resu = 0 then
begin
for i:=0 to cbEntries -1 do
begin
s:=lpnrloc[i].lpRemoteName;
if (s<>'') and (Copy(s,1,2)='\\') and (pos('\',copy(s,3,length(s)))=0) then
begin
delete(s,1,2);
Combobox1.Items.Add(s);
end;
Enumeration(@lpnrloc[i]);
end;
end;
Dispose(lpnrloc);
WNetCloseEnum(Hdl);
end;
Ken@vo
____________________
Code, Code, Codec !