Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ярлык [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 в случае ""Рабочего стола"").


Наверх

Титульная страница Поиск, карта сайта Написать письмо