PDA

View Full Version : آموزش: ساخت شورت كات (ShortCut) در دلفي



BORHAN TEC
پنج شنبه 26 فروردین 1389, 13:14 عصر
سلام :لبخند:

ابتدا يونيت هاي زير را به برنامه اضافه كنيد:

uses ShlObj, ActiveX, ComObj;
سپس براي ايجاد شورت كات از كد زير استفاده كنيد:

procedure TForm1.Button1Click(Sender: TObject) ;
var
IObject : IUnknown;
ISLink : IShellLink;
IPFile : IPersistFile;
PIDL : PItemIDList;
InFolder : array[0..MAX_PATH] of Char;
TargetName : String;
LinkName : WideString;
begin
TargetName := 'c:\windows\calc.exe';
{Use TargetName:=ParamStr(0) which
returns the path and file name of the
executing program to create a link to your
Application}
IObject := CreateComObject(CLSID_ShellLink) ;
ISLink := IObject as IShellLink;
IPFile := IObject as IPersistFile;
with ISLink do
begin
SetPath(pChar(TargetName)) ;
SetWorkingDirectory(pChar(ExtractFilePath(TargetNa me))) ;
end;
// if we want to place a link on the Desktop
SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, PIDL) ;
SHGetPathFromIDList(PIDL, InFolder) ;
{
or if we want a link to appear in
some other, not-so-special, folder:
InFolder := 'c:\SomeFolder'
}
LinkName := InFolder + '\Delphi Created Link.lnk';
IPFile.Save(PWChar(LinkName), false) ;
end;
توضيحات :

اگر به جاي اين كد:

TargetName := 'c:\windows\calc.exe';
از كد زير استفاده كنيم مي توانيم يك شورت كات از برنامه جاري بسازيم:

TargetName:=ParamStr(0);


*********************************

اگر قصد داريد كه شورت كات در مكاني به غير از دسكتاپ واقع شود بايد مقدار ديگري را در متغير InFolder قرار بدهيم. مثلاً :

InFolder := 'c:\SomeFolder';

*********************************

اگر مي خواهيد كه نام شورت كات (نامي كه بر روي آيكن مربوط به شورت كات ظاهر مي شود) را تغيير بدهيد بايد به جاي Delphi Created Link در كد زير از نام مورد نظرتان استفاده كنيد:

LinkName := InFolder + '\Delphi Created Link.lnk';
دقت كنيد به هيچ عنوان از كد بالا پسوند lnk را نبايد حذف كنيد.

*********************************


اميدوارم كه مفيد واقع شده باشد... :قلب: