![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как просмотреть все "шары" локальной сети? [D6, WinXP]
Neo09 © (2004-06-05 17:28:00)Как в Delphi можно быстро получить список всех расшаренных файлов локальной сети?
Ильичев С.А. (2004-06-06 17:51:00) [1]а дальше в етих каталогах искать как и в локальных
FindFirst, FindNext, FindClose.
Neo09 (2004-06-06 16:06:00) [2]Огромное спасибо. :)
А как теперь наиболее эффективно получить список вообще всех файлов. Данная программа выдает список только каталогов первого уровня. Помогите, пожалуйста, очень нужно.
Ильичев С.А. (2004-06-06 14:24:00) [3]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure AEnumShares(ARoot: TNetResource);
var EnumHandle : THandle;
Buf : Array[1..1024] of TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
Result : Integer;
begin
BufSize := SizeOf(Buf);
WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,@ARoot,EnumHandle);
Repeat
Entries := 1;
Result :=WNetEnumResource(EnumHandle,Entries,@Buf,BufSize);
If (Result = NO_ERROR) and (Entries = 1) then
Begin
If Buf[1].dwType=RESOURCETYPE_DISK
Then Form1.Memo1.Lines.Append(Buf[1].lpRemoteName)
Else AEnumShares(Buf[1]);
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end;
procedure TForm1.Button1Click(Sender: TObject);
var
NetRoot: TNetResource;
begin
FillChar(NetRoot,SizeOf(NetRoot),0);
AEnumShares(NetRoot);
end;
end.
Neo09 (2004-06-06 00:40:00) [4]Файлов и каталогов на всех компах локальной сети ;)
е (2004-06-05 18:48:00) [5]файлов? или компов?