![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
??? Компонента для выбора компьютера в сети
bukerman © (2004-06-15 16:47:00)Привет всем!
Подскажите, может кто-то знает, где найти компоненту, с пом. которой можно в диалоговом окне выбрать компьютер в локальной сети. Что-то я не могу найти. С пом. стандартной OpenDlg можно выбрать только файл, но мне нужно именно компьютер.
Большое спасибо за ответы.
Влад.
Германнн (2004-06-15 20:03:00) [1]Фунция BrowseComputer из RXLib подойдет?
Bukerman (2004-06-15 18:10:00) [2]спасибо, просто я на винапи не силен, думал есть какая-нить компонента...
Петров Денис (2004-06-15 18:07:00) [3]> где найти компоненту
Не издевайся.
...
uses ShlObj;
...
var bInfo: BROWSEINFO;
...
begin
try
bInfo.hwndOwner := Handle;
if SHGetSpecialFolderLocation(Handle, CSIDL_NETWORK,
bInfo.pidlRoot) <> NOERROR then
begin
MessageBox(Handle, 'Ошибка при просмотре сети.', PChar(Caption),
MB_OK + MB_ICONERROR);
Exit;
end;
GetMem(bInfo.pszDisplayName, MAX_PATH);
try
bInfo.lpszTitle := 'Выберите компьютер';
bInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
bInfo.lpfn := nil;
if SHBrowseForFolder(bInfo) <> nil then
begin
Host.Text := bInfo.pszDisplayName;
ActiveControl := Host;
Host.SelectAll;
end;
finally
FreeMem(bInfo.pszDisplayName);
end;
except
on E: Exception do MessageBox(Handle,
PChar('Ошибка при просмотре сети: ' + E.Message), PChar(Caption),
MB_OK + MB_ICONERROR);
end;
end;
Как вариант, набросал наспех, просьба без глумления.
Bukerman (2004-06-15 18:01:00) [4]неужели никто не делал и не знает?
Bukerman (2004-06-15 17:11:00) [5]Да нет, не подойдет, нужна невизуальная компонента, точно такая же, как TOpenDlg, только чтобы конечный объект выбора был компьютер, а не файл
TUser (2004-06-15 16:58:00) [6]ShellTreeView ?