TOP > カテゴリ > Visual Basic >

レジストリのキーを作成する

レジストリのキーを作成するサンプルです。

サンプルの実行画面

ソースコード

[CreateKey.frm]

'RegCreateKeyEx=>レジストリのキーを作成またはオープンする

'<引数>
'hKey:RootKey
'lpSubKey:サブキー名
'Reserved:常に0
'lpClass:0
'dwOptions:定数(REG_参照)
'samDesired:定数(KEY_参照)
'lpSecurityAttributes:SECURITY_ATTRIBUTES構造体
'phkResult:オープンされたキーのハンドルを格納する変数
'lpdwDisposition:処理結果を受け取る変数
' (REG_CREATED_NEW_KEY か REG_OPENED_EXISTING_KEYが入る)

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

Private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long


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

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

'@戻り値@
'なし


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


Private Type SECURITY_ATTRIBUTES
        nLength As Long
        lpSecurityDescriptor As Long
        bInheritHandle As Long
End Type

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

Const KEY_CREATE_SUB_KEY = &H4             'サブキーを作成
Const REG_OPTION_NON_VOLATILE = 0
Const ERROR_SUCCESS = 0

Const REG_CREATED_NEW_KEY = &H1            'キーを新規作成
Const REG_OPENED_EXISTING_KEY = &H2        '既存キーをオープンする
   
Private Sub Command1_Click()

 Dim SA As SECURITY_ATTRIBUTES
 Dim Result As Long
 Dim Disposition As Long
 Dim Ret As Long
 Dim Rootkey As String

 Rootkey = HKEY_CURRENT_USER


'キーを作成
 Ret = RegCreateKeyEx(Rootkey, Text1.Text, 0, "", _
                       REG_OPTION_NON_VOLATILE, KEY_CREATE_SUB_KEY, _
                         SA, Result, Disposition)
                   
'キーを閉じる
 Call RegCloseKey(Result)


 Select Case Disposition

      Case REG_CREATED_NEW_KEY
      
           MsgBox "正常に作成しました"
           
      Case REG_OPENED_EXISTING_KEY
      
           MsgBox "同じキーが存在するので作成できませんでした"
           
 End Select
           
End Sub

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

vbapi_createkey.zip 1.54 KB (1,585 バイト)

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

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





関連記事



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