我想在“Programs/StartMenu”文件夹中创建指向我的应用程序的快捷方式链接。所以我使用了这个代码:
def create_shortcuts():
import pythoncom
from win32com.shell import shell, shellcon
shortcut = pythoncom.CoCreateInstance (
shell.CLSID_ShellLink,
None,
pythoncom.CLSCTX_INPROC_SERVER,
shell.IID_IShellLink
)
shortcut.SetPath ("path_to_my_app")
shortcut.SetDescription ("Description")
shortcut.SetIconLocation ("path_to_my_app_icon", 0)
prg_path = shell.SHGetFolderPath (0, shellcon.CSIDL_COMMON_PROGRAMS, 0, 0)
persist_file = shortcut.QueryInterface (pythoncom.IID_IPersistFile)
os.makedirs(prg_path + "\\myFolder")
persist_file.Save(os.path.join (prg_path + "\\myFolder", "myApp.lnk"), 0)
create_shortcuts()
问题是当我运行此代码时,我遇到访问被拒绝错误,因为os.makedirs
无权在“程序”文件夹中创建文件夹。此代码是安装程序设置的一部分,用户应该在没有“以管理员身份运行”的情况下运行它。
操作系统:Windows 8 Python:2.7