Quote:
Originally Posted by KaktoR
I want to create shortcuts with CreateShellLink function, it works for {commondesktop} but not for {group} nor {userstartmenu} / {commonstartmenu}. Why?
I read the information directly from INI file.
|
Post a usage example [Executable] section.
Perhaps because the folder where you are going to create the shortcut does not exist.
Perhaps because the executable does not exist (But I think it should create such randomness).
The path to Exe must be expanded if you use constants like {app}...
If the shortcut destination contains a subfolder, create the folder before calling CreateShellLink using:
ForceDirectories(ExpandConstant( FolderName ));
Code:
if IniKeyNotEmpty('Executable', 'Exe') then
begin
CreateShellLink(
ExpandConstant('{commonstartmenu}\' + GetIniString('Executable', 'ExeName', '', ExpandConstant('{tmp}\Settings.ini')) + '.lnk'),
GetIniString('Executable','ExeName','',ExpandConstant('{tmp}\Settings.ini')),
ExpandConstant(GetIniString('Executable','Exe','',ExpandConstant('{tmp}\Settings.ini'))),
GetIniString('Executable','ExeParam','',ExpandConstant('{tmp}\Settings.ini')),
'',
'',
0,
SW_SHOWNORMAL
);
end;
Here created correctly.