Создать ярлык на рабочем столеDelphi , Файловая система , ЯрлыкиСоздать ярлык на рабочем столеАвтор: Xavier Pacheco unit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} uses ComObj, ActiveX, ShlObj, Registry; const { Registry key where Folder information is kept } SFolderKey = '\Software\Microsoft\Windows\CurrentVersion\' + 'Explorer\Shell Folders'; function GetFolderLocation(const FolderType: string): string; { Retrieves from registry path to folder indicated in FolderType } begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if not OpenKey(SFolderKey, False) then { open key where shell folder information is kept. } raise ERegistryException.CreateFmt('Folder key "%s" not found', [SFolderKey]); { Get path for specified folder } Result := ReadString(FolderType); if Result = '' then raise ERegistryException.CreateFmt('"%s" item not found in registry', [FolderType]); CloseKey; finally Free; end; end; procedure MakeNotepad; const // NOTE: Assumed location for Notepad: AppName = 'c:\windows\notepad.exe'; var SL: IShellLink; PF: IPersistFile; LnkName: WideString; begin OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, SL)); { IShellLink implementers are required to implement IPersistFile } PF := SL as IPersistFile; OleCheck(SL.SetPath(PChar(AppName))); // set link path to proper file { create a path location and filename for link file } LnkName := GetFolderLocation('Desktop') + '\' + ChangeFileExt(ExtractFileName(AppName), '.lnk'); PF.Save(PWideChar(LnkName), True); // save link file end; procedure TForm1.Button1Click(Sender: TObject); begin MakeNotepad; end; end. Программный модуль на языке Delphi, создает ярлык к программе Notepad на рабочем столе при клике кнопки. Вот разбивка кода: Основная форма
Основная форма ( Функция GetFolderLocation
Эта функция получает путь к конкретной папке из реестра Windows. Она принимает параметр Процедура MakeNotepad
Эта процедура создает ярлык к программе Notepad на рабочем столе. Вот что она делает:
1. Создает экземпляр Обработчик события Button1Click
При клике Создание ярлыка на рабочем столе: 1. Скомпилируйте и запустите программу. 2. Нажмите кнопку, помеченную как "Create Shortcut". 3. Ярлык будет создан на рабочем столе. Обратите внимание, что это код является специфичным для Windows и использует COM-объекты (ActiveX) для создания ярлыка. Он может не работать на других платформах или с не-Windows версиями Delphi. В статье рассказывается о создании ярлыка на рабочем столе в Delphi, используя функцию MakeNotepad для сохранения пути к файлу Notepad.exe и создания соответствующего ярлыка. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |