###前提・実現したいこと
C/C++ ( Windows API あり ) で Excel がインストールされているかどうかを調べたい
あるソフトがインストールされているかどうかを調べる方法ってありませんか?
Excelがインストールされているかどうかを調べる -> true のとき バージョン をチェック -> C++で作成したプログラムからExcel操作...
です。
調べてみると
「レジストリを読み込んで書き込まれていればインストールされている」
といった感じのものがあった気がします。
なので、
コマンドプロンプトからレジストリの検索 ( コマンド忘れましたが... ) を一度やってみて、
Excel関係のものをチェックしてみましたが、複数ありどれがどれか...
また、レジストリの操作用の関数もちんぷんかんぷん...
( 定数はどれを使えばいいのやら... またキーの階層?もよくわからない... )
普通のINIファイルとかテキストファイルとかなら復元可能ですが、
レジストリは誤って書き換えてしまうと厄介なので試そうにも...
( バックアップとればいいかもしれませんが、レジストリ関連は初めて使うため、使い慣れてないので。 )
それともレジストリを読み込まずに、インストールされているかどうかをプログラムから調べる
方法ってあるのでしょうか?
ソースコードっていうより、
たとえば、(例はわかっていないので適当ですが。)
- まず RegOpenKeyEx関数でレジストリを開く。
第一引数:どれでもいい
第二引数: ファイル名
第三引数: KEY_ALL_ACCESS
第四引数: 戻り値用 HKEY
- RegQueryValueEx関数で読み込む。
第二引数: "VERSION"
...
といった具合になるべく細かく説明していただけたら嬉しいです。
( あまりにも情報が少ないので できませんが、そういう情報さえあればなんとかできると
思います。 )
これは追加 ( オプション。なくてもいいです。 ) ですが、
Excelだけでなく、他のソフトのインストールもチェックする方法も知りたいです。
( 上記のレジストリの説明の 1の 第三引数を KEY_*** に書き換えるとか。 )
[環境等]:
言語: C/C++ ( Windows API 実装あり )
コンパイラ: g++
宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/12 09:04