またまた申し訳ないです・・・。
簡単に言うと、レジストリのアンインストール情報から、インストールされているアプリケーション名とバージョンの一覧を取得したいと考えています。
自分の中では
1.レジストリの
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
以下にあるサブキーをすべて取得
2.取得したサブキー以下のDisplayName、DisplayVersionを取得(ない物は無視)
といった手順かな〜と考えているのですが・・・
1のように、不特定多数のサブキーを取得する方法ってあるのでしょうか?
普通にキーを取得して、文字列を返す事はできたのですが・・・
ちなみに、Windowsは2000またはXPで、開発環境はVisual Studio .NETです。
よろしくお願いいたします。
RegEnumKeyExなどが使えるかと。
YuOさん
お久しぶりです。
早速の回答、ありがとうございます。
試しに
HKEY hKey;
char CurrentSubKey[256];
FILETIME ft;
int n = 0;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall", 0, KEY_READ, &hKey);
RegEnumKeyEx(hKey, n, CurrentSubKey, lpcName, NULL, NULL, NULL, &ft);
自作関数(指定したキーの価を取得);
n++;
という流れでループをかけようと思っているのですが・・・。
単発で行おうとしたとき、RegOpenKeyExで止まってしまう(DebugModeでここで止められてしまいます)。
正直なにが悪いのやら・・・まるでわかっておりません・・・。
もしご存じでしたらご教授いただけますでしょうか?
よろしくお願いいたします。
すんません、自己解決しました。
ツイート | ![]() |