Asztali parancsikon létrehozása Delphi programból miként lehetséges? (D7)
Tisztelettel, kalmann
Asztali parancsikon létrehozása
Re: Asztali parancsikon létrehozása
Kód: Egész kijelölése
procedure desktopIcon(ffilename, pparam:string; fcaption: widestring);
var
IObject : IUnknown;
ISLink : IShellLink;
IPFile : IPersistFile;
PIDL : PItemIDList;
InFolder : array[0..MAX_PATH] of Char;
TargetName : String;
LinkName : WideString;
FLinkName : String;
begin
TargetName := ffilename;
IObject := CreateComObject(CLSID_ShellLink);
ISLink := IObject as IShellLink;
IPFile := IObject as IPersistFile;
with ISLink do begin
SetIconLocation(pChar(TargetName),0);
SetArguments(pChar(pparam));
SetPath(Pchar(TargetName));
SetWorkingDirectory(Pchar(ExtractFilePath(TargetName)));
end;
// asztalra helyezés
SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, PIDL);
SHGetPathFromIDList(PIDL, InFolder);
FlinkName := '\'+ fcaption + '.lnk';
LinkName := InFolder + FlinkName;
IPFile.Save(PWChar(LinkName), false);
end;
Használata:
desktopIcon('C:/programok/program.exe','','Program');
A függvény paraméterei:
ffilename: file útvonala
pparam: indítási paraméter (pl: programok.exe a=1)
fcaption: parancsikon neve
Üdv.: gaborg