![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выбрать удаленный компьютер в диалоге [D6, Win2k]
AlexS76 © (2004-03-11 09:53:00)Господа! Надо в диалоге выбрать компьютер в сети и UNC имя получить как String.
SHBrowseForFolder - позволяет выбирать но строку выдает пустую, хотя если выбрать в диалоге директорию на удаленном компьютере все нормально работает.(естественно с флагом BIF_RETURNONLYFSDIRS).
Игорь Шевченко (2004-03-11 14:56:00) [1]BOOL SHGetPathFromIDList( LPCITEMIDLIST pidl,
LPTSTR pszPath
);
pidl -
Address of an item identifier list that specifies a file or directory location relative to the root of the namespace (the desktop).
Вроде, про компьютеры ничего не написано...
Игорь Шевченко (2004-03-11 14:54:00) [2]
> при выборе удаленного компьютера SHGetPathFromIDList возвращает
> пустую строку
А к DisplayName приделать \\ спереди не поможет ?
AlexS76 (2004-03-11 14:30:00) [3]Я Все понимаю - меня считают за придурка не умеющего читать хелпы. Но повторяю с флагом BIF_BROWSEFORCOMPUTER
при выборе удаленного компьютера SHGetPathFromIDList возвращает пустую строку. Я подозреваю что нужно пользоваться другой функцией но этот код работает только для директорий
var
TitleName : string;
Pidl,lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
s:pchar;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := '???????? ???????';
SHGetSpecialFolderLocation(Form1.Handle, CSIDL_NETWORK, PIDL);
BrowseInfo.lpszTitle := PChar(TitleName);
s := StrAlloc(1024);
BrowseInfo.pidlRoot:=Pidl;
If Brws=0 then
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS
else
BrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
LpItemID:= SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then
If Brws=0 then begin
SHGetPathFromIDList(lpItemID, s);
result:=s;
GlobalFreePtr(lpItemID);
GlobalFreePtr(Pidl);
end;
end;
clickmaker (2004-03-11 12:06:00) [4]BIF_BROWSEFORCOMPUTER