C++ と win32 API を使用してプログラムでコンピューターにインストールされている ShellIconOverLayIdentifers の総数を確認する必要があります。
以下のパスの下にある識別子を確認して、合計数を取得できますか?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers
C++ と win32 API を使用してプログラムでコンピューターにインストールされている ShellIconOverLayIdentifers の総数を確認する必要があります。
以下のパスの下にある識別子を確認して、合計数を取得できますか?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers
RegQueryInfoKeyを使用できます
このコードはテスト済みで動作しています:
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
LSTATUS lStat;
HKEY hKey;
DWORD dwSubKeys;
lStat = RegOpenKeyExA(
HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\explorer\\ShellIconOverlayIdentifiers",
0L, KEY_READ | KEY_WOW64_64KEY, &hKey);
if(lStat == ERROR_SUCCESS)
{
lStat = RegQueryInfoKeyA(
hKey, NULL, NULL, NULL,
&dwSubKeys, NULL, NULL,
NULL, NULL,NULL, NULL, NULL);
printf_s("Subkeys : %u\n", dwSubKeys);
RegCloseKey(hKey);
}
return 0;
}
アップデート:
JChan の調査によると、64 ビット バージョンの Windows では次のキー アクセスが必要です。
KEY_READ | KEY_WOW64_64KEY