import pythoncom
from win32com.shell import shell
from win32com.server.register import UseCommandLine

class PyShellLink:
    _public_methods_ = ['Init',
                        'GetWorkingDirectory',
                        'GetArguments']
    _reg_clsid_ = "{58DE4632-9323-11D3-85F9-00C04FEFD0A7}"
    _reg_progid_ = "Python.ShellDemo"
    def Init(self, link_name):
        self.sh = pythoncom.CoCreateInstance(shell.CLSID_ShellLink, 
                                None,
                                pythoncom.CLSCTX_INPROC_SERVER,
                                shell.IID_IShellLink)
        persist = self.sh.QueryInterface(pythoncom.IID_IPersistFile)
        persist.Load(link_name)
    def GetWorkingDirectory(self):
        return self.sh.GetWorkingDirectory()
    def GetArguments(self):
        return self.sh.GetArguments()

if __name__=='__main__':
    UseCommandLine(PyShellLink)
