Python - Windows 8上的访问被拒绝错误

时间:2013-11-06 13:10:03

标签: python

我想在“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

1 个答案:

答案 0 :(得分:0)

程序应该升级(使用py2exe):

setup(console=[{'script':"process.py",'uac_info': "requireAdministrator"}])