//#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
Да, обращаю ваше внимание, что при использовании первого способа могут быть недоступны некоторые фичи, типа ShowMessage - так как vcl.h отключен. Если они нужны - прийдется использовать второй метод или поизвращаться :) например попытаться отредактировать shlobj.h
З.Ы. Уже знаю :) В зависимости от настроек ситстемы - некоторые значки могут не отображаться в системе - типа "Мой компьютер" и т.п.
большое спасибо!
Код:
#define NO_WIN32_LEAN_AND_MEAN
#include <shlobj.h>
#include <vcl.h>
#include <shlobj.h>
#include <vcl.h>