Choco Soft

Nadesiko DE RDB

Choco Soft header image 2

なでしこでWindowsAPI【レジストリの参照】

2008年08月09日 · コメント(0) · WindowsAPI

ちょっとレジストリの型を調べるのに必要だったので、しらたまさんに聞きました。

●RegOpenKeyEx(hKey,lpSubKey,ulOptions,samDesired,phkResult) =DLL(“advapi32.dll”,
“LONG RegOpenKeyExA(
HKEY hKey, // 開いている親キーのハンドル
LPCTSTR lpSubKey, // 開くべきサブキーの名前
DWORD ulOptions, // 予約済み
DWORD samDesired, // セキュリティアクセスマスク
PHKEY hKeyA // 開くことに成功したサブキーのハンドル
)”)
●RegQueryValueEx(hKey,lpValueName,lpReserved,lpType,{参照渡し}lpData,lpcbData) =DLL(“advapi32.dll”,
“LONG RegQueryValueExA(
HKEY hKey, // キーのハンドル
LPCTSTR lpValueName, // レジストリエントリ名
LPDWORD lpReserved, // 予約済み
LPDWORD lpType, // データ型が格納されるバッファ
LPBYTE lpData, // データが格納されるバッファ
LPDWORD lpcbData // データバッファのサイズ
)”)
●RegCloseKey(hKey) =DLL(“Advapi32.dll”,
“LONG RegCloseKey(
HKEY hKey
)”)
!KEY_ALL_ACCESS = $000F003F

!HKEY_CLASSES_ROOT = $80000000
!HKEY_CURRENT_USER = $80000001
!HKEY_LOCAL_MACHINE = $80000002
!HKEY_USERS = $80000003
!HKEY_CURRENT_CONFIG = $80000005

レジストリハンドルとは整数
RegOpenKeyEx(HKEY_LOCAL_MACHINE,”SOFTWARE\Microsoft\PCHealth\ErrorReporting”,0,KEY_ALL_ACCESS,POINTER(レジストリハンドル))

型とは整数
データサイズとは整数
データサイズは255
データとは文字列
データにデータサイズを確保
RegQueryValueEx(レジストリハンドル,「ShowUI」,0,POINTER(型),REG_UI_DATA,POINTER(データサイズ))
型で条件分岐
 0ならばREGFLG_SU=0#「REG_NONE」という
 1ならばREGFLG_SU=1#「REG_SZ」という
 2ならばREGFLG_SU=2#「REG_EXPAND_SZ」という
 3ならばREGFLG_SU=3#「REG_BINARY」という
 4ならばREGFLG_SU=4#「REG_DWORD」という
 5ならばREGFLG_SU=5#「REG_DWORD_BIG_ENDIAN」という
 6ならばREGFLG_SU=6#「REG_LINK」という
 7ならばREGFLG_SU=7#「REG_MULTI_SZ」という
 8ならばREGFLG_SU=8#「REG_RESOURCE_LIST」という
 11ならばREGFLG_SU=11#「REG_QWORD」という

RegCloseKey(レジストリハンドル)
REGFLG_SUを言う

タグ :

コメント(0)

コメントを受け付けておりません。