By Daniel U. Thibault
Some additions to Walter Zackery's bit about creating shortcuts using .INF files and RunDLL from a BAT:
Within an INF, you can use this:
[AddLink] setup.ini, progman.groups,, "group1=""%ShortcutLocation%""" setup.ini, group1,,"""%ShortcutDesc%"",""%28710%\Wordpad.exe"",,,,,""Wordpad.exe"""
"group1" is an arbitrary place-holder group name.
%ShortcutLocation% string can be a long file name if it is quoted (like in my example).
It is relative to Start Menu\Programs unless fully qualified.
To put a shortcut in the SendTo folder, for example, I would specify:
%10% place-holder is peculiar to INF and retrieves the Windows directory path (in most cases C:\Windows).
%24% is the Applications (Program Files) directory root (typically C:\).
%24%\Progra~1\Access~1\ path can be retrieved as
%28710% under Win 98 and later.
%11% is the System directory (System32 under Win NT),
%17% is the INF directory.
In generating the shortcut itself, the quoted argument to
"setup.ini, group1,," is:
|<LinkTitle>||is the shortcut's descriptive title.|
|<Target>||is the fully qualified path to the target, including command-line switches and arguments;
note that if the
|<Icon_file>||is the fully qualified path to the icon-holding resource (an EXE, DLL, ICO, ICL or some such)|
|<Icon_index>||is the zero-based index of the icon in
|<Profile>||when specified, creates the link for that user profile only.|
|<Start In>||is the current-path setting for the shortcut.|
|<Description>||is an undocumented optional argument; you can safely omit it or set it to the target's title.
The Microsoft INFs label it "details view".
|Note:||When specifying the Icon_index, if you know the icon's Resource ID (using MicroAngelo's Librarian, Colin WIlson's PE Module Explorer or ResHacker, for example), you can specify it instead of the zero-based index by turning it into a negative number.
For example, Microsoft Excel 8's spreadsheet icon is the second one in Excel.exe — and thus its Icon_index is "1". Its Resource ID is 258, so you can alternately refer to it as "-258".
setup.ini, group1,,"""Link to Wordpad"",""%24%\Progra~1\Access~1\Wordpad.exe"",""%11%\Cool.dll"",3,,%17%"
To delete a shortcut, the quoted argument must consist of just the shortcut description.
Daniel U. Thibault
a.k.a. Seigneur Bohémond de Nicée