Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Shortcut на рабочем столе. Проблема с функцией GetDir(0,sPath);   Найти похожие ветки 

 
Fantasy   (2010-04-05 19:23) [0]

создает  Inno Setup > Shortcut на рабочем столе
Проблема в том что фукция GetDir(0,sPath); возвращает адрес Shortcut-a а не адрес exe файла;
(Если создать Shortcut стандартной функцией windows то GetDir(0,sPath); правильно работает)

мастера подскажите как решить проблему?


 
Knob   (2010-04-06 10:22) [1]

Должно работать.
uses ActiveX, ComObj, ShlObj

...

function NameFromLink(const lnk: string): string;
var
 MyObject: IUnknown;
 MySLink: IShellLink;
 MyPFile: IPersistFile;
 c: PChar;
 pfd: _WIN32_FIND_DATAA;
begin
 Result := "";
 try
   MyObject := CreateComObject(CLSID_ShellLink);
   MySLink := MyObject as IShellLink;
   MyPFile := MyObject as IPersistFile;
   if MyPFile.Load(Pointer(WideString(lnk)), OF_READ) <> S_OK then
     exit;
   c := PChar(lnk);
   MySLink.GetPath(c, MAX_PATH, pfd, 0);
   Result := strpas(c);
 except
 end;
end;


 
Fantasy   (2010-04-13 18:13) [2]

Спасибо Knob


 
Loginov Dmitry ©   (2010-04-13 20:03) [3]


> как решить проблему?


Используйте ExtractFilePath(ParamStr(0)) вместо GetDir


 
Anatoly Podgoretsky ©   (2010-04-13 20:18) [4]

Это две разные по результатам функции.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.057 c
15-1269520791
Sergey13
2010-03-25 15:39
2010.08.27
Lazarus &amp; FireBird


2-1275539553
Vasek
2010-06-03 08:32
2010.08.27
Проверка синтаксиса Паскаля(строки)


2-1274079841
Евгений Р.
2010-05-17 11:04
2010.08.27
Работа со средой


4-1233489021
Vemer
2009-02-01 14:50
2010.08.27
Рисунок не хочет прикреплятся к Popup Меню.


2-1266319857
oleg1963lora
2010-02-16 14:30
2010.08.27
Вопросы по юникоду





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский