![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SHBrowseForFolder и SHGetPathFromIDList [D6, Win2k]
Nebuchadnezzar © (2002-08-27 18:04:00)Всем привет!!!
Помогите разобраться...
Задача в следующем: используя SHBrowseForFolder открыть диалог и выбрать компьютер в локальной сети, получить его имя. Проблема в том что функция SHGetPathFromIDList возвращает False если в SHBrowseForFolder использовался флаг BIF_BROWSEFORCOMPUTER.
вот кусок кода:
procedure TfrmMain.actBrowseForServerExecute(Sender: TObject);
var vReturnInfo : PItemIDList;
vBrowseInfo : TBrowseInfo;
vTempPath : array [0..MAX_PATH] of Char;
begin
FillChar(vBrowseInfo, SizeOf(TBrowseInfo), #0);
vBrowseInfo.hwndOwner := Application.Handle;
vBrowseInfo.lpszTitle := "Select Server Name...";
vBrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
vReturnInfo := SHBrowseForFolder(vBrowseInfo);
if vReturnInfo = nil then Exit;
try
if not SHGetPathFromIDList(vReturnInfo, vTempPath) then raise Exception.Create("SHGetPathFromIDList fails...");
finally
GlobalFreePtr(vReturnInfo);
end;
end;
Nebuchadnezzar (2002-08-27 18:47:00) [1]Все, проблема решена, SHGetPathFromIDList вообще не надо использовать...
Nebuchadnezzar (2002-08-27 18:36:00) [2]С этим примером ( http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15) все понятно, он работает нормально, но дело в том что там используется флаг BIF_RETURNONLYFSDIRS а мне не нужно выбирать папку, нужно выбрать только имя компьютера (флаг BIF_BROWSEFORCOMPUTER)
Ученик (2002-08-27 18:11:00) [3]http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15