![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
По стопам создания ярлыков... (*.lnk)
antonn © (2006-12-20 23:39:00)Создаю ярлык на рабочем столе, путь к нему смотрю так:
function SpecialDir(Spec:integer):string;
var Allocator: IMalloc;
SpecialDir: PItemIdList;
FBuf: array[0..MAX_PATH] of Char;
PerDir: string;
begin
if SHGetMalloc(Allocator) = NOERROR then
begin
SHGetSpecialFolderLocation(application.Handle, spec , SpecialDir);
SHGetPathFromIDList(SpecialDir, @FBuf[0]);
Allocator.Free(SpecialDir);
result:=string(FBuf);
end;
end;
в качестве параметра подставляю нужную константу. Так вот появился вопрос, чем отличаются CSIDL_DESKTOPDIRECTORY и CSIDL_DESKTOP, они обе возвращают путь к рабочему столу?
antonn (2006-12-21 00:20:00) [1]и еще один вопрос сюда же - у пользователя всегда есть права на запись в CSIDL_DESKTOPDIRECTORY ?
antonn (2006-12-20 23:59:00) [2]так я не понял, какой из них правильней использовать? :)
tesseract (2006-12-20 23:42:00) [3]CSIDL_DESKTOP (0x0000)
The virtual folder representing the Windows desktop, the root of the namespace.
CSIDL_DESKTOPDIRECTORY (0x0010)
The file system directory used to physically store file objects on the desktop (not to be confused with the desktop folder itself). A typical path is C:\Documents and Settings\username\Desktop.
один - каталог, второй директория. Не факт что путь сохраниться в следующих версиях.