luoheng
8/12/2019 - 12:42 PM

创建快捷方式

import os
import win32com.client as client


class ShortCut:

    shell = client.Dispatch("WScript.Shell")

    def get(self, shortcut):
        return self.shell.CreateShortCut(shortcut).Targetpath

    def _create(self, filename, lnkname):
        """filename should be abspath, or there will be some strange errors"""
        shortcut = self.shell.CreateShortCut(lnkname)
        shortcut.TargetPath = filename
        shortcut.save()

    def create(self, filename, lnkname):
        self._create(os.path.abspath(filename), lnkname)

def main():
    s = ShortCut()
    filename = os.path.abspath(".")
    s.create(filename, os.path.join("test", os.path.basename(filename)+".lnk"))
    print(s.get(filename+".lnk"))

if __name__ == "__main__":
    main()