我想知道是否可以使用标准python 2.7库找到Windows 7下应用程序的安装目录,例如MS Excel。我的意思是,它不应该使用任何 pywin32 或 xlrd 等。
也许它会查找注册表以找到安装路径?
我想知道是否可以使用标准python 2.7库找到Windows 7下应用程序的安装目录,例如MS Excel。我的意思是,它不应该使用任何 pywin32 或 xlrd 等。
也许它会查找注册表以找到安装路径?
这可能很棘手,但是一种方法是在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 上。