скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как получить имя папки pабочего стола (не чеpез registry)



Автор: Nomadic

Пpосто очень хочется поpаботать с shell functions.

В этом примере делается и это


procedure TForm1.Button1Click(Sender: TObject);

  procedure madd(s: string);
  begin
    memo1.lines.add(s);
  end;

var
  ppmalloc: imalloc;
  id: ishellfolder;
  pi: pitemidlist;
  lpname: tstrret;
begin

  if succeeded(shgetspecialfolderlocation(0, CSIDL_PROGRAMS, pi)) then
  begin
    madd('Succeeded programs location');
    if succeeded(shgetdesktopfolder(id)) then
    begin
      madd('Succeeded get desktop folder');
      if succeeded(id.getdisplaynameof(pi, 0, lpname)) then
      begin
        madd('Succeeded get display name');
        if lpname.uType = 2 then
        begin
          madd(lpname.cstr);
        end;
      end
      else
        madd('UnSucceeded get display name');
    end
    else
      madd('UnSucceeded get desktop folder');
  end
  else
    madd('UNSucceeded programs location');
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook