2

我想在.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 库,但如果这不可能,外部库也可以工作。

谢谢

4

1 回答 1

4

好的,在这个的帮助下研究了几个小时后我设法找到了我想要的东西: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()

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

于 2017-11-19T19:31:42.777 回答