最終更新日: 1998年 08月 13日 木曜日
レジストリに登録されている文字列を修得するサンプルコードを作成しました。レジストリキーの
参照には以下の変数を指定し、szPath,wszPath
で格納バッファを指定します。修得に成功した場合TRUE、失敗した場合
FALSEを帰します。
アプリケーションを作成したときなどにレジストリーを利用して登録を行ったり、レジストリを参照して
現在の環境を知るなどいろいろなことが可能になります。
HKEY |
|
|||||
subKey1 | HKEYで指定したキーからの相対位置(フォルダー)を指定 | |||||
subKey2 | HKEY・subKey1で指定した 位置にあるキーの名前を指定します。 |
#ifndef _MAX_PATH
#include <stdlib.h>
#endif
BOOL GetRegKeyValue(HKEY hKey,LPSTR subKey1,LPSTR subKey2,CHAR szPath[_MAX_PATH]);
BOOL GetRegKeyValue(LPSTR subKey1,LPSTR subKey2,CHAR szPath[_MAX_PATH]);
BOOL GetRegKeyValue(HKEY hKey,LPSTR subKey1,LPSTR subKey2,WCHAR wszPath[_MAX_PATH]);
BOOL GetRegKeyValue(LPSTR subKey1,LPSTR subKey2,WCHAR wszPath[_MAX_PATH]);
BOOL GetRegKeyValue(LPSTR subKey1,LPSTR subKey2,CHAR szPath[_MAX_PATH]){
return(GetRegKeyValue(HKEY_LOCAL_MACHINE,subKey1,subKey2,szPath));
}
BOOL GetRegKeyValue(LPSTR subKey1,LPSTR subKey2,WCHAR wszPath[_MAX_PATH]){
return(GetRegKeyValue(HKEY_LOCAL_MACHINE,subKey1,subKey2,wszPath));
}
BOOL GetRegKeyValue(HKEY hKey,LPSTR subKey1,LPSTR subKey2,WCHAR wszPath[_MAX_PATH]){
CHAR szPath[_MAX_PATH];
BOOL bReg;
bReg = GetRegKeyValue(hKey,subKey1,subKey2,szPath);
mbstowcs(wszPath, szPath,_MAX_PATH);
return bReg;
}
BOOL GetRegKeyValue(HKEY hKey,LPSTR subKey1,LPSTR subKey2,CHAR szPath[_MAX_PATH])
{
HKEY hk;
BOOL bRet = FALSE;
DWORD cbPath = _MAX_PATH;
szPath[0]=0;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,subKey1,0,KEY_READ,&hk)) return
FALSE;
if(RegQueryValueEx(hk,subKey2,NULL,NULL,(LPBYTE)szPath,&cbPath)==ERROR_SUCCESS)bRet=TRUE;
else bRet=FALSE;
RegCloseKey(hk);
return bRet;
}
Copyright (C) Kitaro 1998