ちょっとレジストリの型を調べるのに必要だったので、しらたまさんに聞きました。
●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)
コメントを受け付けておりません。