0

C++ を使用して、Windows 上の既存のアプリケーションのパッチを作成しています。動機は、ソフトウェアの構成ファイルを編集して、ユーザーの要件に従って機能させることです。

ただし、パッチを適用する前に、ソフトウェアがインストールされているかどうかを確認することが重要です。さらに、ソフトウェアがインストールされている場合、そのディレクトリ内のファイルを開いて編集できるように、どのディレクトリにインストールされているかを知ることが重要です。

1 つの方法は、ファイルが「C:\Program Files... etc」に存在するかどうかを確認することでした。

現在、問題は、ユーザーがインストール中にそのソフトウェアのインストール ディレクトリを変更した場合、または代わりに「C:\Program Files (x86)」に保存される 64 ビットの Windows OS である場合に発生します。

そのため、デフォルトのインストール ディレクトリにファイルが存在することを確認する意味はほとんどありません。

一部の開発者がこれを行っていると聞いたもう 1 つの方法は、Windows レジストリをチェックして、ソフトウェアがインストールされているかどうか、存在する場合はどのディレクトリにインストールされているかを確認することです。

また、C++ を使用してレジストリを調べる方法もわかりません。また、ソフトウェアのインストール パスを取得するためにチェックするレジストリ キーまたは値もわかりません。

あなたが知っている上記の2つの方法に代わる方法があれば教えてください。適切な代替手段が存在しない場合は、レジストリを使用してこの目標を達成する方法を知りたいです。

編集: 私がパッチを当てているソフトウェアは、Dev C++ および Code::Blocks コンパイラです。

ありがとうございました!

4

1 に答える 1

0

インストールディレクトリが変更されるシナリオについて言及していないため、これに答えるのは非常に困難です。インストール ディレクトリを変更できる場合は、C:\Program Files (x86)\your_folder_name などを試してみませんか? このようにして、インストール ディレクトリが他のユーザーによって変更されることはありません。

于 2013-08-14T15:33:20.967 に答える