Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Хочу выбрать компьютер, но приведённый код выдаёт пустую строку!   Найти похожие ветки 

 
Alexander ©   (2002-10-04 11:16) [0]

В чём может быть дело?

function OpenDirExecute(Title: string; var Dir: string): Boolean;
var
BI: TBrowseInfo;
Browse: PItemIdList;
DisplayName : array[0..MAX_PATH] of Char;
TempPath: array[0..MAX_PATH] of Char;
begin
Result := False;
ZeroMemory(@BI, SizeOf(TBrowseInfo));
BI.hwndOwner := Applet.Handle;

SHGetSpecialFolderLocation(Application.Handle, CSIDL_NETWORK, BI.pidlRoot);
try
BI.pszDisplayName := @DisplayName;
BI.lpszTitle := PChar(Title);
BI.ulFlags := BIF_BROWSEFORCOMPUTER or BIF_BROWSEINCLUDEFILES or BIF_SHAREABLE;
Browse := SHBrowseForFolder(BI);
if Browse <> nil then
begin
SHGetPathFromIDList(Browse, TempPath);
Dir := TempPath;
CoTaskMemFree(Browse);
Result := True;
end;
finally
CoTaskMemFree(BI.pidlRoot);
end;
end;


 
Marcus   (2002-10-04 11:41) [1]

Вот 100% работающий пример:

function BrowseForComputer(Handle: HWND; var ComputerName: String): boolean;
var
BrowseInfo: TBrowseInfo;
Buffer: PChar;
RootItemIDList, ItemIDList: PItemIDList;
ShellMalloc: IMalloc;
begin
Result := false;
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then
begin
Buffer := ShellMalloc.Alloc(MAX_PATH);
try
SHGetSpecialFolderLocation(0, CSIDL_NETWORK, RootItemIDList);
with BrowseInfo do
begin
hwndOwner := Handle;
pidlRoot := RootItemIDList;
pszDisplayName := Buffer;
lpszTitle := "Выберите компьютер:";
ulFlags := BIF_BROWSEFORCOMPUTER;
end;
ItemIDList := SHBrowseForFolder(BrowseInfo);
if ItemIDList <> nil then
begin
ComputerName := Buffer;
ShellMalloc.Free(ItemIDList);
Result := true;
end;
finally
ShellMalloc.Free(Buffer);
end;
end;
end;



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

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.016 c
14-46119
IronHawk
2002-10-20 12:04
2002.11.14
Киевская встреча Мастаков СОСТОЯЛАСЬ!


6-46040
URL
2002-09-20 10:15
2002.11.14
Как вытащить картинки из TWebBrowser?


1-45836
Андрусь
2002-11-04 19:23
2002.11.14
Как создать форму с помощью API функций


1-45901
Shaman2002
2002-11-05 18:41
2002.11.14
Как нарисовать дугу?


1-45961
Zuvom
2002-11-04 13:31
2002.11.14
Удаление файла