レジストリから値の取得
まず、レジストリは3層構造みたいになっている。
ちょうどドライブ、ディレクトリ、ファイルみたいな感じだ。
キー HKEY_LOCAL_MACHINE
サブ・キー "SOFTWARE\\Microsoft\\DirectX"
エントリ名 "Version"
TCHAR* entry = "SOFTWARE\\Microsoft\\DirectX"; HKEY hKey = NULL; LONG rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, entry, 0, KEY_ALL_ACCESS, &hKey); if (rc != ERROR_SUCCESS) { printf("RegOpenKeyEx() rc=%d\n", rc); // winerror.h return -1; } TCHAR buf[256]; ULONG len = 256; rc = RegQueryValueEx(hKey, "Version", NULL, NULL, (LPBYTE)buf, &len); RegCloseKey(hKey); if (rc != ERROR_SUCCESS) { printf("RegOpenKeyEx() rc=%d\n", rc); // winerror.h return -1; } printf("value=[%s]\n", buf);
そういえばレジストリのAPIを使うのは初めてだ。
今までずっと避けてきたからなぁ〜。