Win32api.... can it create a Windows shortcut (.lnk) file?

me none at fake.net
Fri Nov 12 06:17:19 CET 1999


That's a nice clean example.... but I'm having one small problem, even
taking it exactly as you put it:


##########################################
Traceback (innermost last):
  File "C:\Program
Files\Python\Win32\Pythonwin\pywin\framework\scriptutils.py", line 237, in
RunScript
    exec codeObject in __main__.__dict__
  File "C:\PROGRA~1\PYTHON\MYPROJ~1\WINTOOLS\wintools.py", line 144, in ?
    CreateShortCut(Path,Target,Arguments,StartIn,Icon,Description)
  File "C:\PROGRA~1\PYTHON\MYPROJ~1\WINTOOLS\wintools.py", line 132, in
CreateShortCut
    persist.Save(Path, 1)
com_error: (-2147467259, 'Unspecified error', None, None)
##########################################

Unfortunately, "Unspecified error" doesn't help me too much... q:].  I'll be
looking into that tonite, but if you have a quick fix, I'd appreciate it.
I've been using the win32api module a lot, and it's great, but not pythoncom
a lot yet...

q:]

Kevin.


Stefan Migowsky <smigowsky at dspace.de> wrote in message
news:137053459BA7D211B3930090272A62CA8EDD80 at newsintern.dspace.de...
> Hi
>
>
> Mark Hammond did a great job on wrapping the win32api. So
> creating a shortcut is just so easy :
> ################ CreateShortCut.py ####################
>
> from win32com.shell import shell
> import win32api
> import pythoncom
> import os
> import sys
>
> def CreateShortCut(Path, Target,Arguments = "", StartIn = "", Icon =
("",0),
> Description = ""):
>     # Get the shell interface.
>     sh = pythoncom.CoCreateInstance(shell.CLSID_ShellLink, None, \
>         pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellLink)
>
>     # Get an IPersist interface
>     persist = sh.QueryInterface(pythoncom.IID_IPersistFile)
>
>     # Set the data
>     sh.SetPath(Target)
>     sh.SetDescription(Description)
>     sh.SetArguments(Arguments)
>     sh.SetWorkingDirectory(StartIn)
>     sh.SetIconLocation(Icon[0],Icon[1])
>
>     # Save the link itself.
>     persist.Save(Path, 1)
>
> if __name__ == "__main__":
> TempDir = os.environ["TEMP"]
> WinRoot = os.environ["windir"]
>
> Path        =  WinRoot    + "\\Profiles\\All Users\\Desktop\\New
> Link.lnk"
> Target      =  Pythonroot + "pythonw.exe "
> Arguments   =  TempDir + "\\test.py"
> StartIn     =  TempDir
> Icon        = (Pythonroot + "\\py.ico", 0)
> Description = "New Link"
>
> CreateShortCut(Path,Target,Arguments,StartIn,Icon,Description)
>
>
> Stefan
>
>
>
> Dipl.-Physiker Stefan Migowsky
> dSPACE GmbH
> Technologiepark 25 33100 Paderborn (Germany)
> mailto:smigowsky at dspace.de http://www.dspace.de
>
>
>
> -----Original Message-----
> From: me [mailto:none at fake.net]
> Sent: Thursday, November 11, 1999 7:54 AM
> To: python-list at python.org
> Subject: Win32api.... can it create a Windows shortcut (.lnk) file?
>
>
> I'm just trying to find an easy to create shortcuts on Windows platforms
> through Python... it doesn't seem to be a simple matter though.
>  I've gone
> through all the Win32 docs, and found nothing, and have started writing
> (with limited success) a C function to do it.
>
> Is there an easy way?  q:]
>
> Thanks,
> Kevin Cazabon
> kcazabon at home.com
>
>
>
> --
> http://www.python.org/mailman/listinfo/python-list
>
>






More information about the Python-list mailing list