2

我想知道是否可以使用标准python 2.7库找到Windows 7下应用程序的安装目录,例如MS Excel。我的意思是,它不应该使用任何 pywin32 或 xlrd 等。

也许它会查找注册表以找到安装路径?

4

1 回答 1

5

这可能很棘手,但是一种方法是在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\foo.exe

因此是这样的(我在这台计算机上没有 Windows,所以如果发现错误,欢迎编辑;),代码应该与 Python 2 和 3 兼容):

try:
    import winreg
except ImportError:
    import _winreg as winreg

handle = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,
    r"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe")

num_values = winreg.QueryInfoKey(handle)[1]
for i in range(num_values):
    print(winreg.EnumValue(handle, i))

在 Python 2 上,模块名为_winreg,但winreg在 Python 3 上。

于 2013-08-04T16:38:58.500 回答