2013-08-04 38 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

搜索註冊表項,然後根據手冊頁編寫一些代碼 –

相關問題