使用 python 更改 windows 快捷方式 .lnk 文件的图标

change the icon of a windows shortcut .lnk file using python

我想在创建文件后更改 .lnk 文件的图标。到目前为止,这是我的主要代码:

import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shortcut = shell.CreateShortCut("shortcut.lnk")
shortcut.Targetpath = "C:\Users\Benjie\AppData\Local\Programs\Python\Python36\python.exe"
shortcut.save()

这会创建一个带有 python 图标的快捷方式,但我想将其更改为其他图标,如果可能的话,更改为其他 .exe 文件的图标。 我该怎么做?

我最好使用 windows api 库之一,但如果这不可能,外部库也可以。

谢谢

好的,在 this 的帮助下研究了几个小时后,我设法找到了我要找的东西:shortcut.IconLocation。这会将快捷方式的图标设置为 .exe、.dll、.icl 或 .ico 文件中的图标。例如:

import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shortcut = shell.CreateShortcut("shortcut.lnk")
shortcut.TargetPath = "C:\Users\Benjie\AppData\Local\Programs\Python\Python36\python.exe"
shortcut.IconLocation = "C:\path_to_.exe,1"
shortcut.Save()

图标路径是文件的路径,逗号和文件中的图标编号。如果您创建快捷方式并在其属性中更改其图标,您可以看到文件的图标,然后浏览该文件。