ターゲットPCにMicrosoft Word(Word 2003)が存在するかどうかをプログラムで判断する方法があるかどうかは疑問でした。このアプリケーションをVS2005、C++で作成する。レジストリキーの上にループMFC - Microsoft Wordプログラムが存在するかどうかをチェック
おかげ
ターゲットPCにMicrosoft Word(Word 2003)が存在するかどうかをプログラムで判断する方法があるかどうかは疑問でした。このアプリケーションをVS2005、C++で作成する。レジストリキーの上にループMFC - Microsoft Wordプログラムが存在するかどうかをチェック
おかげ
はオプション例えばです:HKEY_CURRENT_USER\Software\Microsoft\Office
下のすべてのエントリと、最新バージョンであるかを参照してください。あなたのパフォーマンスと正確な要件によって異なります。
新しいWord.Application
COMオブジェクトを作成し、Version
プロパティを読み取ることができます。残念ながら、それはWordが読み込まれるまで数秒かかるでしょう。 (がの場合)
オブジェクトを作成できない場合、Wordはインストールされません。作成できるバージョン番号が小さい場合は、古いバージョンのみが使用可能です。
最も簡単な方法は、おそらくHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office
レジストリキーを確認することです。
このツリーには、すべてのバージョンのOffice用のノードがあり、インストールされているプロジェクトには、インストールされたパスを指定する独自のサブキー(Excel、Outlook、Wordなど)があります。
注:1台のPCに複数のバージョンがインストールされている場合があります。例えば。私が持っています;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0
特にキーHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 12.0 \ Common \ InstallRootは面白いです。 OfficeのルートキーHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 12.0は、ほかのアプリケーションでも作成される可能性があります。 –
右 - キーそのものだけではなく、これらのキーの内容を確認することを意味します。 –