誰か助けてください。コンピュータにインストールされている msword のバージョンを確認するにはどうすればよいですか? バージョンが少ない場合は、デフォルトで「.doc」を開くバージョンを見つけてください。このタスクの C++ 関数またはアルゴリズムを提案できる人はいますか? 下手な英語でごめんなさい:(助けてくれてありがとう。
3 に答える
利用可能なAPIがある場合は、レジストリを調べないでください。適切なAPIを使用すると、WindowsとWordのすべてのバージョンでテストが機能することを確認できます。
特定のファイルタイプ(.docなど)を処理するために登録されている実行可能ファイルを見つけるには、AssocQueryStringを使用します。実行可能ファイルへのパスを取得したら、 GetFileVersionInfoとVerQueryValueを使用してそのバージョン番号を確認できます。
インストールされているバージョン(.docに関連付けられているアプリケーションに関係なく)を知りたいだけの場合は、Windowsインストーラーに問い合わせることができます。MsiEnumProductsExとMsiGetProductInfoを確認してください。
WMIを使用してこのようなものをクエリする方法もおそらくあります。
Word のバージョンを知りたい場合は、レジストリ キー HKEY_CLASSES_ROOT\Word.Application\CurVer を調べます。
Office 2010、2007、および 2003 に対して、それぞれ「Word.Application.14」、「Word.Application.12」、または「Word.Application.11」のような ProgId が提供されます。最後の「。」の右側の部分。バージョンを与える。「Word.Document」を見ると、古いバージョンの Word が新しいバージョンの Word 文書を読み取れるようにする機能パックをインストールできるため、常に正しい答えが得られるとは限りません。これらの機能パックは、Word.Document の一部のレジストリ設定を更新しますが、Word.Application はそのままにします。
パスからレジストリ エントリを読み取ることができます。為に.....
- Office 2003 = 11
- Office 2007 = 12
Office 2010 = 14
HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\AccessNameVersion
HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\ExcelNameVersion
HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\OutlookNameVersion
HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\PowerPointNameVersion