Resolving windows shortcut to url

Ivo ivonet at gmail.com
Fri Sep 21 22:29:37 CEST 2007


Ivo wrote:
> Richard Townsend wrote:
>> If I have a windows shortcut to a URL, is there a way to get the URL
>> in a Python app?
>>
>> I found some code that uses pythoncom to resolve shortcuts to local
>> files, but I haven't found any examples for URLs.
>>
>> The PyWin32 help mentions the PyIUniformResourceLocator Object, but I
>> couldn't find an example of how to use it.
>>
> do you mean a *.lnk file or a *.url file?

for a link (*.lnk) file:


from win32com.shell import shell
import pythoncom
import os, sys

class PyShortcut(object):
     def __init__(self):
         self._base = pythoncom.CoCreateInstance(shell.CLSID_ShellLink,
                                                 None,
 
pythoncom.CLSCTX_INPROC_SERVER,
                                                 shell.IID_IShellLink)

     def load(self, filename):
 
self._base.QueryInterface(pythoncom.IID_IPersistFile).Load(filename)

     def save(self, filename):
 
self._base.QueryInterface(pythoncom.IID_IPersistFile).Save(filename, 0)

     def __getattr__(self, name):
         if name != "_base":
             return getattr(self._base, name)


if __name__=="__main__":
     lnk = PyShortcut()
     lnk.load("path to your shortcut file including the .lnk extention 
even if you don't see it in windows")
     print "Location:", lnk.GetPath(shell.SLGP_RAWPATH)[0]



More information about the Python-list mailing list