![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение папок локального компа [D7, WinXP]
nikk © (2005-11-03 15:06:00)Проблема такая. Надо узнать имя расшареных папок на локальном компе. Связкой функций WNetOpenEnum и WNetEnumResource узнаю имена всех компов в сети, но шары компов ими не узнать. Функциями FindFirst FindNext тоэе не получается.
satan ^^._.^^ (2005-11-04 10:21:00) [1]Попробуй так:
procedure TForm1.Button1Click(Sender: TObject);
var
hNetEnum: THandle;
Container: NETRESOURCE;
ResourceBuffer: array[1..2000] of TNetResource;
i,ResourceBuf,EntriesToGet: DWORD;
begin
Container.dwScope:=RESOURCE_GLOBALNET;
Container.dwType:=RESOURCETYPE_ANY;
Container.lpLocalName:=nil;
Container.lpRemoteName:= PChar('\\'+AddressEdit.Text);
Container.lpProvider:= nil;
WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, RESOURCEUSAGE_CONNECTABLE or RESOURCEUSAGE_CONTAINER,
@Container, hNetEnum);
while TRUE do
begin
ResourceBuf := sizeof(ResourceBuffer);
EntriesToGet := 2000;
if (NO_ERROR <> WNetEnumResource(hNetEnum,EntriesToGet,@ResourceBuffer,ResourceBuf)) then
exit;
for i := 1 to EntriesToGet do
Memo1.Lines.Add(string(ResourceBuffer[i].lpRemoteName));
end;
end;