主要思路:有时根据业务需要,需要在指定的文件夹中创建快捷方式。通过INSTALLSHIELD的AddFolderIcon函数来实现在任意指定的文件夹中添加快捷方式。
AddFolderIcon (szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath, nIcon, szShortCutKey, nFlag);
/**/
/*--------------------------------------------------------------*
*
* InstallShield Example Script
*
* Demonstrates the AddFolderIcon function.
*
* This example places a shortcut to an executable file on the
* Start menu and the Start Programs menu.
*
* Note: Before running this script, set the preprocessor
* constants so that they reference the fully-qualified
* names of the Windows Notepad executable and a valid
* text file on the target system.
*
*--------------------------------------------------------------*/
#define PROGRAM "C:/Windows/Notepad.exe"
#define PARAM "C:/Windows/Readme.txt"
STRING szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath;
STRING szShortCutKey, szProgram, szParam;
NUMBER nIcon;
#include " ifx.h "
program
// Set up parameters for call to AddFolderIcon.
szProgramFolder = FOLDER_STARTMENU;
szItemName = " Notepad Example 1 " ;
szProgram = PROGRAM;
szParam = PARAM;
LongPathToQuote (szProgram, TRUE);
LongPathToShortPath (szParam);
szCommandLine = szProgram + " " + szParam;
szWorkingDir = "" ;
szIconPath = "" ;
nIcon = 0 ;
szShortCutKey = "" ;
// Add a shortcut to the Start menu.
if (AddFolderIcon (szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, REPLACE) < 0 ) then
MessageBox ( " AddFolderIcon failed. " , SEVERE);
else
SprintfBox (INFORMATION, " AddFolderIcon " , " %s created successfully. " ,
szItemName);
endif;
szProgramFolder = "" ;
szItemName = " Notepad Example 2 " ;
// Add a shortcut to the Programs menu.
if (AddFolderIcon (szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, REPLACE) < 0 ) then
MessageBox ( " AddFolderIcon failed. " , SEVERE);
else
SprintfBox (INFORMATION, " AddFolderIcon " , " %s created successfully. " ,
szItemName);
endif;
endprogram
*
* InstallShield Example Script
*
* Demonstrates the AddFolderIcon function.
*
* This example places a shortcut to an executable file on the
* Start menu and the Start Programs menu.
*
* Note: Before running this script, set the preprocessor
* constants so that they reference the fully-qualified
* names of the Windows Notepad executable and a valid
* text file on the target system.
*
*--------------------------------------------------------------*/
#define PROGRAM "C:/Windows/Notepad.exe"
#define PARAM "C:/Windows/Readme.txt"
STRING szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath;
STRING szShortCutKey, szProgram, szParam;
NUMBER nIcon;
#include " ifx.h "
program
// Set up parameters for call to AddFolderIcon.
szProgramFolder = FOLDER_STARTMENU;
szItemName = " Notepad Example 1 " ;
szProgram = PROGRAM;
szParam = PARAM;
LongPathToQuote (szProgram, TRUE);
LongPathToShortPath (szParam);
szCommandLine = szProgram + " " + szParam;
szWorkingDir = "" ;
szIconPath = "" ;
nIcon = 0 ;
szShortCutKey = "" ;
// Add a shortcut to the Start menu.
if (AddFolderIcon (szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, REPLACE) < 0 ) then
MessageBox ( " AddFolderIcon failed. " , SEVERE);
else
SprintfBox (INFORMATION, " AddFolderIcon " , " %s created successfully. " ,
szItemName);
endif;
szProgramFolder = "" ;
szItemName = " Notepad Example 2 " ;
// Add a shortcut to the Programs menu.
if (AddFolderIcon (szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, REPLACE) < 0 ) then
MessageBox ( " AddFolderIcon failed. " , SEVERE);
else
SprintfBox (INFORMATION, " AddFolderIcon " , " %s created successfully. " ,
szItemName);
endif;
endprogram