Вниз
Скачать: CL | DM;

SHBrowseForFolder и SHGetPathFromIDList   Найти похожие ветки 

← →
Nebuchadnezzar ©   (2002-08-27 18:04) [0]

Всем привет!!!
Помогите разобраться...
Задача в следующем: используя 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;


← →
Ученик ©   (2002-08-27 18:11) [1]

http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15


← →
Nebuchadnezzar ©   (2002-08-27 18:36) [2]

С этим примером ( http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15) все понятно, он работает нормально, но дело в том что там используется флаг BIF_RETURNONLYFSDIRS а мне не нужно выбирать папку, нужно выбрать только имя компьютера (флаг BIF_BROWSEFORCOMPUTER)


← →
Nebuchadnezzar ©   (2002-08-27 18:47) [3]

Все, проблема решена, SHGetPathFromIDList вообще не надо использовать...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
1-31836
Fog
2002-09-28 16:33
2002.10.10
Это глюк?


3-31631
Sergant
2002-09-18 16:23
2002.10.10
Delphi+Rs-Bank


3-31665
Leny
2002-09-20 14:30
2002.10.10
Добавить программно запись в БД


1-31753
Wetnose
2002-10-01 08:38
2002.10.10
Delphi 7 и Delphi for .NET Preview


1-31867
Shrek
2002-09-20 21:06
2002.10.10
Очистить память




   Наверх