![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ярлык [D6, D7]
frost © (2003-10-23 17:26:00)
Как програмно создать ярлык на файл FileName, спасибо!
Игорь Шевченко (2003-10-24 14:52:00) [1]
[lamer]Barmaglot © (24.10.03 13:32)
Шучу я обычно иначе
Song (2003-10-24 13:56:00) [2]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
[lamer]Barmaglot (2003-10-24 13:32:00) [3]
то Frost
Это Игорь Шевченко так шутит, местное сокрашение - Единая база процедур и функций (ссылка на странице вверху)
frost (2003-10-23 22:01:00) [4]
Ну скажем в FAQ я смотрел (то что смог достать) а что такое UBPFD я не знаю, но тем немение спасибо, в оссобенности vvvaaa.
Игорь Шевченко (2003-10-23 18:00:00) [5]
Еще правильнее перед вопросом смотреть в FAQ и в UBPFD
vvvaaa (2003-10-23 17:51:00) [6]
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 в случае ""Рабочего стола"").