Сетевое окружение в SelectDirectory
От: Evgeny_Dr  
Дата: 01.05.04 09:51
Оценка:
Уважаемые коллеги.
Подскажите как сделать так, чтобы в диалоге, вызываемом функцией SelectDirectory открывалась папка Сетевое окружение.
Спасибо.
Re: Сетевое окружение в SelectDirectory
От: Leonid Troyanovsky  
Дата: 01.05.04 10:48
Оценка: 1 (1)
Здравствуйте, Evgeny_Dr, Вы писали:

E_D>Подскажите как сделать так, чтобы в диалоге, вызываемом функцией SelectDirectory открывалась папка Сетевое окружение.


Если SelectDirectory не обязательна, то, например, [from ru.delphi FAQ]:


uses
  ShlObj, activex;


function GetDirectory(nFolder: Longint): String;
var
  Bi : TBrowseInfo;
  lpName: array [0..MAX_PATH] of Char;
  ppidl, aItemLst : PItemIDList;
begin
  SHGetSpecialFolderLocation(Application.Handle, nFolder, ppidl);
  FillChar(Bi, SizeOf(bi), 0);
  Bi.hwndOwner := Application.Handle;
  Bi.pidlRoot := ppidl;
  Bi.pszDisplayName := lpName;
  Bi.lpszTitle := 'Open directory';
  aItemLst := SHBrowseForFolder(Bi);
  CoTaskMemFree(ppidl);
  SHGetPathFromIDList(aItemLst, lpName);
  CoTaskMemFree(aItemLst);
  Result := lpName;
end;

// Пример использования (иначе не поймут, что такое nFolder)

// значения nFolder можно найти в описании
// к SHGetSpecialFolderLocation
// из Win32 Programmer's Reference (win32.hlp)

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := GetDirectory(CSIDL_NETWORK    );
end;
--
С уважением, LVT
Re[2]: Сетевое окружение в SelectDirectory
От: Evgeny_Dr  
Дата: 01.05.04 20:53
Оценка:
Спасибо, вполне подходит.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.