掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
レジストリの操作について。 (ID:76378)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はい、事前に(前後に)準備が要ります。 レジのオープン&クローズ処理が必要です。 INIファイルで十分なので、自分もあまりレジを触ったことないので、 間違ってたらすいません。 'RegOpenKeyEx=>レジストリのキーを開く '<引数> 'hKey: Rootキー(定数HKEY××参照) 'lpSubKey: Subキー 'ulOptions: 常に0 'samDesired: 常に1 'phkResult: 開いたキーのハンドルを受取る変数 '@戻り値@ '正常終了のとき ERROR_SUCCESS Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long 'RegCloseKey=>レジストリのハンドルを閉じる '<引数> 'hKey: レジストリのハンドル '@戻り値@ 'なし Private Declare Function RegCloseKey Lib "ADVAPI32" (ByVal hKey As Long) As Long 'RegSetValueEx=>レジストリの値名、値を設定する '<引数> 'hKey:RegOpenKeyExで取得したハンドル 'lpValueName:値名 'Reserved:常に0 'dwType:定数(REG_××参照) 'lpData:値を示す文字列 'cbData:値を示す文字列の文字数 ' '<戻り値> '正常終了のとき ERROR_SUCCESS Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As Any, ByVal cbData As Long) As Long '<注>RegSetValueExの引数「lpData」の前にByValをつけています。 'ほかにもやり方がありますが、ByValを書くだけなのでこの方法をとりました。 '--->REG_DWORDを使う時はByValを消さないと使用できません(REG_DWORDは使わないと思いますが・・・) 'ルートキー 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 ERROR_SUCCESS = 0 '値のタイプ Const REG_SZ = 1 'Const REG_DWORD = 4 Private Sub Command1_Click() Dim Ret As Long Dim Rootkey As String Dim Subkey As String Dim nHandle As Long Dim nLeng As Long Rootkey = HKEY_CURRENT_USER Subkey = "Software" nLeng = Len(Text2.Text) 'ハンドル確保 Ret = RegOpenKeyEx(Rootkey, Subkey, 0, 1, nHandle) '値を設定する Ret = RegSetValueEx(nHandle, Text1.Text, 0, REG_SZ, Text2.Text, nLeng) 'ハンドルを閉じる Call RegCloseKey(nHandle) 'エラーの確認 If Ret = ERROR_SUCCESS Then MsgBox "正常に設定しました" Else MsgBox "正常に設定できませんでした" End If End Sub こんな感じでどうでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.