Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Папка "Автозаргузка" и данные из ярлыка.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
15-1140255258
Pazitron_Brain
2006-02-18 12:34
2006.03.12
Как восстановить почтовую базу Thunderbird?


3-1137757377
_RusLAN
2006-01-20 14:42
2006.03.12
Нужна идея. Передача даных с одной БД в другую (FireBird)


15-1140446817
ArtemESC
2006-02-20 17:46
2006.03.12
Смена текстового видеорежима


15-1140092454
Иванушка
2006-02-16 15:20
2006.03.12
Прога для измерения громкости звуков.


15-1140180610
Manic Mechanic
2006-02-17 15:50
2006.03.12
горе от ума