Martin (gzlist) schrieb:
> On 03/11/2008, Markus Gritsch <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>>  I would like to create shell links (.lnk) from my Python program.
>>  ...
>>  It would be very nice, if someone could give me any advice
>>  how to do this using comtypes.
> 
> When I wanted to do this in a hurry and didn't have time to look up
> the right way to do it, I ended up with code something like:
> 
> import comtypes
> from comtypes.client import CreateObject
> ws = CreateObject("WScript.Shell")
> from comtypes.gen import IWshRuntimeLibrary
> shortcut = comtypes.cast(ws.CreateShortcut("test_shortcut.lnk"),
>     comtypes.POINTER(IWshRuntimeLibrary.IWshShortcut))
> shortcut.TargetPath = "cmd.exe"
> shortcut.Arguments = "/K C:\Python24\python.exe"
> shortcut.Save()
> 
> This worked for me, but may be bad practice or generally bogus in some
> way or other.
> 
> I think I got there by reading
> <http://www.ironpython.info/index.php/Creating_a_Shortcut_File_with_WSH_Interop>
> then looking at the comtypes generated code, then poking things until
> it stopped throwing exceptions.

Cool!  The only thing I would suggest to change
is to use QueryInterface instead of cast:

> import comtypes
> from comtypes.client import CreateObject
> ws = CreateObject("WScript.Shell")
> from comtypes.gen import IWshRuntimeLibrary
  shortcut = 
ws.CreateShortcut("test_shortcut.lnk").QueryInterface(IWshRuntimeLibrary.IWshShortcut)
> shortcut.TargetPath = "cmd.exe"
> shortcut.Arguments = "/K C:\Python24\python.exe"
> shortcut.Save()

-- 
Thanks,
Thomas


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
comtypes-users mailing list
comtypes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/comtypes-users

Reply via email to