Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как просмотреть все "шары" локальной сети? [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]

файлов? или компов?


Наверх

Титульная страница Поиск, карта сайта Написать письмо