【问题标题】:Python locate "all programs" folder in the start menuPython 在开始菜单中找到“所有程序”文件夹
【发布时间】:2011-06-26 17:57:14
【问题描述】:

我正在尝试在开始菜单的 Windows 文件夹“程序”中创建一个包含快捷方式的文件夹。我已经找到了一种创建 shorkuts 的方法,但我找不到在开始菜单中找到“程序”文件夹的方法。例如查找我使用的桌面文件夹:

os.environ["userprofile"]+"\\Desktop\\" 

但我希望它与带有程序文件夹的“程序”文件夹一起使用。

注意:我不是在搜索“程序文件”文件夹!!!我正在开始菜单“程序”中搜索文件夹,例如在我的计算机中位于“C:\ProgramData\Microsoft\Windows\Start Menu\Programs”中

【问题讨论】:

  • 我找到了解决办法!!注册表中的“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell 文件夹”
  • 使用ctypes模块的解决方案在这里stackoverflow.com/questions/2216173/…

标签: python windows pywin32 shortcut


【解决方案1】:

我找到了一个解决方案,在注册表中,有一个名为“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders”的键,其中包含桌面、程序、开始菜单等。我将能够使用 _winreg 模块访问它。

【讨论】:

    【解决方案2】:

    这对我有用:

    os.path.join(os.environ["userprofile"], "Start Menu", "Programs")
    

    使用 Windows API 可能有更合适的方法,但我不知道。

    编辑:

    以下是一些可能有所帮助的 Windows API 相关材料。不过,我不太了解 Windows API,无法为您编写脚本。

    【讨论】:

    • 不,对我来说,那个文件夹不存在......这是个问题,应该有一个正确的方法......也许在注册表中或类似的地方......
    • 如果您愿意在 Python 中试用 Windows API,请再次查看我的回答。
    • 我找到了一个解决方案,在注册表中,有一个名为“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders”的键,包含桌面、程序、开始菜单等。我将能够使用 _winreg 模块访问它。
    • 很好!如果它确实有效,您实际上可以将其发布为您自己问题的答案而不是评论,并接受该答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2019-08-12
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多