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

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

Помогите с шАрами! [D5, D6, Win95/98, NT4, Win2k, WinXP]


ArtUl ©   (2003-01-30 02:54:00) 

Как узнать какие зашаренные ресурсы есть на компе в сети зная его имя или IP?


_Narayan_   (2003-01-30 08:47:00) [1]

Прошу прощения - строчка:

Form1.ListBox1.Items.Append(Copy(Buf[1].lpRemoteName,3, Length(Buf[1].lpRemoteName)-2));

Выглядит просто Form1.ListBox1.Items.Append(Buf[1].lpRemoteName);


_Narayan_   (2003-01-30 08:44:00) [2]

Вот кусок кода - ищет ВСЕ сетевые ресурсы (рекурсивно)
Если что не понятно пиши на мыло, вышлю исходники

procedure TForm1.Button1Click(Sender: TObject);
var Workgroup: TNetResource;
begin
ListBox1.Clear;
FillChar(Workgroup,SizeOf(Workgroup),0);
FindAllComputers(Workgroup);
end;

procedure FindAllComputers(Workgroup: 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,@Workgroup,EnumHandle);
Repeat
Entries := 1;
Result :=WNetEnumResource(EnumHandle,Entries,@Buf,BufSize);
If (Result = NO_ERROR) and (Entries = 1) then
Begin
Application.ProcessMessages;
Form1.ListBox1.Items.Append(Copy(Buf[1].lpRemoteName,3, Length(Buf[1].lpRemoteName)-2));
FindAllComputers(Buf[1]);
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end;


Наверх

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