TOP > カテゴリ > Visual Basic >

レジストリの値を取得する

レジストリの値を取得するサンプルです。

サンプルの実行画面

ソースコード

[GetValue.frm]

'RegCloseKey=>レジストリのハンドルを閉じる

'<引数>
'hKey: レジストリのハンドル

'@戻り値@
' なし

Private Declare Function RegCloseKey Lib "ADVAPI32" (ByVal hKey As Long) As Long


'RegOpenKeyEx=>レジストリのキーを開く

'<引数>
'hKey:       Rootキー(定数HKEY××参照)
'lpSubKey:    Subキー
'ulOptions:   常に0
'samDesired:  常に1
'phkResult:   開いたキーのハンドルを受取る変数

'@戻り値@
' 正常終了のとき ERROR_SUCCESS
     
Private Declare Function RegOpenKeyEx Lib "ADVAPI32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long


'RegQueryValueExStr=>レジストリの値を取得する

'<引数>
'hKey:            レジストリのハンドル
'lpValueName:     取得したい名前を入れる
'lpReserved:      常に0
'lpType:          常に0
'lpData:          取得した値が入る
'lpcbData:        同、文字数

'@戻り値@
'  正常終了のとき ERROR_SUCCESS

Private Declare Function RegQueryValueExstr Lib "ADVAPI32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByVal lpType As Long, ByVal lpDat As String, lpcbData As Long) As Long

'ルートキー
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_DYN_DATA = &H80000006
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003

Const ERROR_SUCCESS = 0&



Private Sub Command1_Click()

Dim Valuedate As String
Dim Length As Long
Dim Name As String


RootKey = HKEY_CURRENT_USER
SubKey = Text2.Text

  
'キーをオープンしてハンドルを得る
  ret = RegOpenKeyEx(RootKey, SubKey, 0, 1, Hensu)

'Nameに値を取得したい名前を入れる
  Name = Text3.Text

'バッファを確保する
  Valuedate = String(250, Chr(0))
  Length = Len(Valuedate) '長さ

'HensuはRegOpenKeyExで開いたキーのハンドル
  ret = RegQueryValueExstr(Hensu, Name, 0, 0, Valuedate, Length)


If ret = ERROR_SUCCESS Then
  'テキストに出力
    Text1.Text = Valuedate
Else
    MsgBox "取得できませんでした"
End If


'ハンドルを閉じる
  Call RegCloseKey(Hensu)


End Sub

ソースコード一式のダウンロード

vbapi_getvalue.zip 1.58 KB (1,619 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00379