2

標準の python 2.7 ライブラリを使用して、Windows 7 で MS Excel などのアプリケーションのインストール ディレクトリを見つけることができるかどうかを知りたいです。つまり、pywin32 や xlrd などを使用すべきではありません。

インストールパスを見つけるためにレジストリを検索するのでしょうか?

4

1 に答える 1

5

非常にトリッキーかもしれませんが、1 つの方法は、ランチャーの exe の場所を検索することです。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 ではモジュールの名前は です_winregwinreg、Python 3 では.

于 2013-08-04T16:38:58.500 に答える