Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

рабочий стол

3.0K
04 июня 2006 года
Inga
79 / / 27.12.2005
подскажите, как сохранить файл на рабочий стол компьютера? на разных компьютерах путь к рабочему столу разный.
1
04 июня 2006 года
kot_
7.3K / / 20.01.2000
[QUOTE=Inga]подскажите, как сохранить файл на рабочий стол компьютера? на разных компьютерах путь к рабочему столу разный.[/QUOTE]
Это конечно не мое дело :) - но лучше спросить у пользователя куда сохранять.
А для того что бы сохранить на рабочий стол, можно использовать несколько способов. первый - ИМХО наиболее правильный, использование интерфейсов папок:
Код:
//#include <vcl.h> //NOTA BENE!!!

#include <shlobj.h>
...
LPITEMIDLIST p;
char buff[MAX_SIZE];//MAX_SIZE - размер буфера, для ХР должен быть
//не меньше 128 - определите макрос и задайте размер

SHGetSpecialFolderLocation(Handle,CSIDL_DESKTOP,&p);
SHGetPathFromIDList(p,buff);
//В buff хранится путь к рабочему столу - БЕЗ ЗАВЕРШАЮЩЕГО СЛЕША!!!

ну и дальше используйте по своему усмотрению.
Так же путь к рабочему столу можно получить читая разделы реестра
 
Код:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
1
05 июня 2006 года
kot_
7.3K / / 20.01.2000
Да, обращаю ваше внимание, что при использовании первого способа могут быть недоступны некоторые фичи, типа ShowMessage - так как vcl.h отключен. Если они нужны - прийдется использовать второй метод или поизвращаться :) например попытаться отредактировать shlobj.h
1
05 июня 2006 года
kot_
7.3K / / 20.01.2000
И неточность допустил одну - в качестве параметра функции лучше указывать не CSIDL_DESKTOP а CSIDL_DESKTOPDIRECTORY. По сути не изменится ничего - но этот параметр указывает на конкретную папку, в которой размещается все то, что хранится на рабочем столе. На данный момент я не знаю ситуации, в которой будут выводится разные папки в первом и втором случае - но как говорится береженного Бог бережет.
З.Ы. Уже знаю :) В зависимости от настроек ситстемы - некоторые значки могут не отображаться в системе - типа "Мой компьютер" и т.п.
3.0K
05 июня 2006 года
Inga
79 / / 27.12.2005
большое спасибо!
471
05 июня 2006 года
_MC_
178 / / 13.01.2005
Кстати можно подружить shlobj.h и vcl.h для этого нужно написать:
 
Код:
#define NO_WIN32_LEAN_AND_MEAN
#include <shlobj.h>
#include <vcl.h>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог