[Tutor] making a shortcut in windows

Walter Prins wprins at gmail.com
Tue Sep 4 14:55:27 CEST 2012


Hi,

On 4 September 2012 02:57, Garry Willgoose
<Garry.Willgoose at newcastle.edu.au> wrote:
> I want to put a shortcut onto the desktop in windows (XP and later) in Python 2.6 or later. In Unix its easy using os.symlink but I can't find anything equivalent for windows. My searches on the web led me to the code below but the code returns the error
>
> AttributeError: function 'CreateSymbolicLinkW' not found
> so does anybody have any suggestions?

IIRC and as implied by other responses so far, "Symbolic Links" are an
NTFS feature only relatively recently added to NTFS.  Creating a
Symbolic Link (whether on Windows or elsewhere) is not the same as
creating a "Shortcut" in Windows, even though they can in some
contexts (e.g. a GUI desktop environment) be used to fulfil the same
role.  Anyway, to be backwards compatible with Win XP you should be
creating a "Shortcut", more properly known as a "Shell link".  See
here:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb776891%28v=vs.85%29.aspx

Basically you need to use the IShellLink COM interface to create the
link.  You can use PythonCOM to do this (not sure if you'll be happy
about adding a dependency on COM to your application though), either
way, here's a presentation that also mentions IShellLink (note it's a
bit old so make allowances for the age):
http://starship.python.net/~skippy/conferences/tools99/html/ppframe.htm

Walter


More information about the Tutor mailing list