Re: Resolving windows shortcut to url
On Fri, 21 Sep 2007 22:29:37 +0200, Ivo <[EMAIL PROTECTED]> wrote: >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] Hi Ivo, I belive it is *.lnk files I'm interested in. For example: C:\Documents and Settings\All Users\Start Menu\Programs\Development\Winpdb\winpdb-homepage.lnk points to http://www.digitalpeers.com/pythondebugger/ However, your code is returning an empty string for location. lnk.GetPath(shell.SLGP_RAWPATH) returns the tuple: ('', (0, , , , 0L, 0L, 0L, 0L, '', '')) Regards, Richard Townsend -- http://mail.python.org/mailman/listinfo/python-list
Re: Resolving windows shortcut to url
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] -- http://mail.python.org/mailman/listinfo/python-list
Re: Resolving windows shortcut to url
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? if an *.url file just open it as a properties file (ConfigParser) because it looks something like: [InternetShortcut] URL=http://ivonet.nl/ IDList= IconFile=http://ivonet.nl/favicon.ico IconIndex=1 [{000214A0---C000-0046}] Prop3=19,2 -- http://mail.python.org/mailman/listinfo/python-list
Re: Resolving windows shortcut to url
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? -- http://mail.python.org/mailman/listinfo/python-list
Resolving windows shortcut to url
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. -- http://mail.python.org/mailman/listinfo/python-list