2013-08-04 39 views
1

我想知道是否有可能找到Windows 7下的应用程序的安装目录,如MS Excel,与标准的Python 2.7库。我的意思是,它不应该使用任何pywin32或xlrd等有没有办法找到标准库的应用程序的路径?

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

+1

[_winreg](http://docs.python.org /2/library/_winreg.html)与'HKEY _LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ ** \ Common \ InstallRoot'为关键? – falsetru

回答

3

这可能是相当棘手,但一个方法是在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\foo.exe寻找发射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.

+0

太棒了!你怎么知道? – alwbtc

+1

搜索注册表项,然后根据手册页编写一些代码 –

相关问题