Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2010, 05:05   #1
marina15056
Пользователь
 
Регистрация: 17.04.2009
Сообщений: 68
Счастье Как найти путь к рабочему столу, который видно...

Дело в том, что у меня, как только что выяснилось, есть два рабочих стола: один нормальный, в папке С, а второй, который у меня ежедневно отображается, и расположен он в папке D, в моих документах. Так получилось, потому что очень давно, для удобства, я изменила месторасположение рабочего стола, и почему-то переустановка виндоса сохранила эту настройку. До сего дня меня всё устраивало, но у меня задача: вывести результат на рабочий стол.

Вот эта функция справилась блестяще:
Код:
uses ShlObj;
 
function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
  SetLength(s, MAX_PATH);
  if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
  then s := '';
  result := PChar(s);
end;
только результат она вывела на рабочий стол из С папки. Поэтому я сразу даже найти не смогла.

Вопрос: если у других людей такая же штуковина, они просто не найдут нужного файла и решат, что программа не работает. Или такое встречается крайне редко, что и волноваться не стоит? Или всё таки можно как то найти путь к видимому рабочему столу?

Спасибо.
marina15056 вне форума Ответить с цитированием
Старый 28.08.2010, 14:18   #2
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Есть такая штука как Переменная окружения. По идее там должен хранится и путь к рабочему столу.
Искусственный интеллект - фигня по сравнению с естественной глупостью
Impuls1989 вне форума Ответить с цитированием
Старый 14.10.2010, 09:32   #3
marina15056
Пользователь
 
Регистрация: 17.04.2009
Сообщений: 68
По умолчанию

вопрос решён

отвечу сама себе, вдруг кому-нибудь поможет

Код:
uses: registry;

var reg : TRegistry;
     path_dsktp: string;

begin
  reg := TRegistry.Create; 
  reg.RootKey := HKEY_CURRENT_USER;
  reg.LazyWrite := false;
  reg.OpenKey( 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', false);
  path_dsktp:= reg.ReadString('Desktop');
  reg.CloseKey;
  reg.free;
end;
marina15056 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключиться к удаленному рабочему столу Betty Windows 1 18.05.2009 09:57
Удалённое подключение к рабочему столу Air Свободное общение 13 03.02.2009 10:01
Путь к рабочему столу anton14 Общие вопросы Delphi 4 12.11.2008 11:54
Как подключиться к удаленному рабочему столу D-mon Работа с сетью в Delphi 1 03.06.2008 22:18
Вопрос по рабочему столу Lonix Win Api 3 11.07.2007 21:49