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

Вниз

Программное создание ярлыка средствами KOL   Найти похожие ветки 

 
Ripper ©   (2004-11-02 20:06) [0]

Как средствами KOL программно создать ярлык?

используя стандартные модули - можно так
uses Windows, ShlObj,ComObj, ActiveX;

function CreateShortcut(const CmdLine, Args, WorkDir, LinkFile: string):
 IPersistFile;
var
 MyObject: IUnknown;
 MySLink: IShellLink;
 MyPFile: IPersistFile;
 WideFile: WideString;
begin
 MyObject := CreateComObject(CLSID_ShellLink);
 MySLink := MyObject as IShellLink;
 MyPFile := MyObject as IPersistFile;
 with MySLink do
 begin
   SetPath(PChar(CmdLine));
   SetArguments(PChar(Args));
   SetWorkingDirectory(PChar(WorkDir));
 end;
 WideFile := LinkFile;
 MyPFile.Save(PWChar(WideFile), False);
 Result := MyPFile;
end;

////////////////////////////////
Нашел аналогичные модули для KOL - ActiveKOL,KOLComObj.

Пожалуйста помогите портировать на KOL или предложите другое решение.


 
dimaxx ©   (2004-11-02 21:58) [1]

А юзать модуль lnk.pas с сайта Кладова религия не позволяет? :-)


 
Ajax ©   (2004-11-02 22:01) [2]

Дык а что тебе не нравится в использовании Windows, ActiveX, ShlObj? Ну если не хочешь эти модули подключать, выдерни из них необходимые объявления в свой модуль и будет тебе счастье. Твой код будет работать и с KOL.


 
chum   (2005-05-21 14:30) [3]

Подскажите, а как можно создать ярлых на папку? Пробовал модуль LNK, но не получается.


 
Владимир Кладов   (2005-05-21 18:09) [4]

да все получается:

CreateLink( "C:\KOL\", "", "", "", 0, "c:\link-to-KOL.lnk" );


 
chum   (2005-05-23 10:17) [5]

Спасибо, а я просто указывал каталог по умолчанию, и поэтому был глюк.



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

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
14-1134651504
root
2005-12-15 15:58
2006.01.15
Как написать шлюз


2-1135598335
Barsky
2005-12-26 14:58
2006.01.15
помогите с сервисами


2-1135339132
KvORubin
2005-12-23 14:58
2006.01.15
Программеры подскажите (примером) КАК ПЕРЕСЛАТЬ ФАЙЛ??


6-1127974262
Гарри Поттер
2005-09-29 10:11
2006.01.15
Организация программ.


2-1134653305
Destroyer
2005-12-15 16:28
2006.01.15
Вопрос по потокам.