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

Вниз

Ярлык   Найти похожие ветки 

 
frost ©   (2003-10-23 17:26) [0]

Как програмно создать ярлык на файл FileName, спасибо!


 
vvvaaa   (2003-10-23 17:51) [1]

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;

procedure CreateShortcuts;
var Directory, ExecDir: String;
MyReg: TRegIniFile;
begin
MyReg := TRegIniFile.Create("Software\MicroSoft\Windows\
CurrentVersion\Explorer");
ExecDir := ExtractFilePath(ParamStr(0));
Directory := MyReg.ReadString("ShellFolders", "Programs", "") + "\" + ProgramMenu;
CreateDir(Directory);
MyReg.Free;
CreateShortcut(ExecDir + "Autorun.exe", "",ExecDir,Directory + "\Demonstration.lnk");
CreateShortcut(ExecDir + "Readme.txt", "",ExecDir,Directory +"\Installation notes.lnk");
CreateShortcut(ExecDir + "WinSys\ivi_nt95.exe", "", ExecDir, Directory + "\Install Intel Video Interactive.lnk");
end;

Вообще правильнее в процедуре CreateShortcuts пользовать Win32API::GetSpecialFolderLocation с нужным параметром (CSIDL_PROGRAMS в случае папки ""Программы"", или CSIDL_DESKTOP в случае ""Рабочего стола"").


 
Игорь Шевченко ©   (2003-10-23 18:00) [2]

Еще правильнее перед вопросом смотреть в FAQ и в UBPFD


 
frost ©   (2003-10-23 22:01) [3]

Ну скажем в FAQ я смотрел (то что смог достать) а что такое UBPFD я не знаю, но тем немение спасибо, в оссобенности vvvaaa.


 
[lamer]Barmaglot ©   (2003-10-24 13:32) [4]

то Frost

Это Игорь Шевченко так шутит, местное сокрашение - Единая база процедур и функций (ссылка на странице вверху)


 
Song ©   (2003-10-24 13:56) [5]

2frost
Говоришь FAQ смотрел?
А вот это что?
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988622611&n=15
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621840&n=15


 
Игорь Шевченко ©   (2003-10-24 14:52) [6]

[lamer]Barmaglot © (24.10.03 13:32)

Шучу я обычно иначе



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-62081
AlexG
2003-12-09 08:24
2003.12.19
Формат даты


14-62196
Любопытный
2003-11-27 15:20
2003.12.19
Как писать в Delphi программу чтобы она запустилась в dos 7.0


11-61995
it
2003-04-07 15:46
2003.12.19
From OpenDialog To ListBox


3-61969
Bless
2003-11-25 16:31
2003.12.19
можно ли обновить одну строку запроса?


1-62003
ASt
2003-12-07 02:49
2003.12.19
Значок в трее