Главная страница


ru.nethack

 
 - RU.NETHACK -------------------------------------------------------------------
 From : DrHexer                              2:5020/400     11 Oct 2001  11:04:57
 To : Sergey Kostromin
 Subject : Re: Parole
 -------------------------------------------------------------------------------- 
 
 
 Sergey Kostromin wrote:
 
 > Привет All !!!
 >
 > Проблема есть сеть 200 компов, основа 2000 Server, туча доменов.
 > чем подобрать пароль на доступ к ресурсам или как получить доступ?
 > Сижу в одном из доменов.
 >
 >                                   С уважением, Сергей Костромин.
 
 Эта прога покажет все ресурсы твоей сети( включая все домены, воркгруппы
 и шары в этих доменах)
 Довольно долгая рекурсия. Она работает четко, проверено. Потом можешь
 список распечатать.
 А насчет доступа, это уж,  ты сам смотри:). Hюансы, господа, это вам не
 форсмажор :)))
 
 unit Main;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs,
   ComCtrls;
 
 type
   TFormMain = class(TForm)
     TreeView: TTreeView;
     procedure FormCreate(Sender: TObject);
   private
     { Private declarations }
     procedure LoadNetResources;
     procedure EnumSubResources(Items: TTreeNodes; Node: TTreeNode;
       lpNetResource: PNetResource);
   public
     { Public declarations }
   end;
 
 var
   FormMain: TFormMain;
 
 implementation
 
 {$R *.DFM}
 
 procedure TFormMain.FormCreate(Sender: TObject);
 begin
   LoadNetResources;
 end;
 
 procedure TFormMain.LoadNetResources;
 begin
   with TreeView.Items do
   begin
     BeginUpdate;
     Clear;
     Add(nil, 'Вся сеть');
     EnumSubResources(TreeView.Items, Item[0], nil);
     EndUpdate;
   end;
 end;
 
 procedure TFormMain.EnumSubResources(Items: TTreeNodes; Node: TTreeNode;
 
   lpNetResource: PNetResource);
 const
   MAX_RES = 16;
 type
   PResources = ^TResources;
   TResources = array[0..MAX_RES-1] of TNetResource;
 var
   hEnum: THandle;
   Count: Integer;
   Res: Integer;
   Resources: PResources;
   BufferSize: Integer;
   I: Integer;
   NewNode: TTreeNode;
   NewNodeName: String;
 begin
   // Открываем доступ к перечню сетевых ресурсов
   Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0,
 lpNetResource, hEnum);
   if NO_ERROR <> Res then
     Exit;
   // Массив, в который читаются сетевые ресурсы
   BufferSize := SizeOf(TResources);
   GetMem(Resources, BufferSize);
   while True do
   begin
     // Загружаем перечень ресурсов в массив
     // Если возникла ошибка, значит, ресурсов больше нет --- покидаем
 цикл
     Count := MAX_RES;
     Res := WNetEnumResource(hEnum, Count, Resources, BufferSize);
     if (Res <> NO_ERROR) and (Res <> ERROR_MORE_DATA) then
       Break;
     // В противном случае копируем сетевые ресурсы в дерево
     for I := 0 to Count - 1 do
     begin
       // Добавляем дочерний узел
       if Assigned(Resources^[I].lpRemoteName) then
         NewNodeName := String(Resources^[I].lpRemoteName)
       else
         NewNodeName := String(Resources^[I].lpComment);
       NewNode := Items.AddChild(Node, NewNodeName);
       // Вызываем процедуру рекурсивно для заполнения этого узла,
       // если узел содержит подузлы
       if (Resources^[I].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then
         EnumSubResources(Items, NewNode, @(Resources^[I]));
     end;
   end;
   FreeMem(Resources);
   // Закрываем доступ
   WNetCloseEnum(hEnum);
 end;
 
 end.
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Parole   DrHexer   11 Oct 2001 11:04:57 
Архивное /ru.nethack/102313e504944.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional