Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизПапка "Автозаргузка" и данные из ярлыка. Найти похожие ветки
← →
WestBronx (2006-02-26 17:47) [0]Привет мастера.
1. Подскажите, как узнать, где находится папка "Автозаргузка", запустившего программу пользователя?
2. Как получить путь к программе, из ярлыка? Т.Е. Есть ярлык, например "readme.txt.lnk", как из него получить путь на программу, на которую он ссылается? Эх, вроде правельно сформировал мысль, спасибо за внимание ;)
← →
begin...end © (2006-02-26 18:21) [1]1. API-функция SHGetSpecialFolderPath (параметр nFolder = CSIDL_STARTUP).
2. Интерфейс IShellLink, метод GetPath.
← →
WestBronx (2006-02-26 19:30) [2]begin...end © (26.02.06 18:21) [1]
Это ShlObj?
Немогли бы, вы разжевать, как именно использовать?
1. Что в других параметрах указывать?
Я попробывал вот так:appdn := BoolToStr(SHGetSpecialFolderPath(hwndOwner, "0", CSIDL_STARTUP, fCreate));
Неполучилось =(
2. Это вообще не понял =( Незнаю что такое интерфейс.
← →
begin...end © (2006-02-26 19:57) [3]> WestBronx (26.02.06 19:30) [2]
1.uses
ShlObj;
var
Path: array [0..MAX_PATH] of Char;
begin
if SHGetSpecialFolderPath(0, Path, CSIDL_STARTUP, False) then
ShowMessage(Path)
end
2.uses
ShlObj, ComObj, ActiveX;
var
Unknown: IUnknown;
ShellLink: IShellLink;
PersistFile: IPersistFile;
FindData: TWin32FindData;
FilePath: array [0..MAX_PATH] of Char;
begin
Unknown := CreateComObject(CLSID_ShellLink);
ShellLink := Unknown as IShellLink;
PersistFile := Unknown as IPersistFile;
if PersistFile.Load("C:\Ярлык.lnk", STGM_READ) = S_OK then
if ShellLink.GetPath(FilePath, SizeOf(FilePath), FindData, 0) = NOERROR then
ShowMessage(FilePath)
end
← →
WestBronx (2006-02-26 20:21) [4]begin...end © (26.02.06 19:57) [3]
Большое спасибо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c