VisualBasic6.0を使用してレジストリのDWORD値を読み書きする方法を、サンプル付きで説明しているページを教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/08/15 17:22:22
  • 終了:2006/08/16 11:30:17

回答(2件)

id:Kumappus No.1

くまっぷす回答回数3784ベストアンサー獲得回数1852006/08/15 17:47:15

ポイント35pt

http://hanatyan.sakura.ne.jp/vbdengon/log_751to800.htm

例えばここのNo.765に出ています。

Win32 API(advapi32.dllの機能)を使います。

Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _

(ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _

lpType As Long, lpData As Any, lpcbData As Long) As Long

読み出しは、

ret = RegQueryValueEx(hKeyResult, Value, 0, REG_DWORD, lngAnswer, Size)

みたいな感じ

あと、こちらにクラスライブラリがDLできるサイトがありました(英文)

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?tx...

id:yokodai

ありがとうございます。

2006/08/16 11:29:42
id:KirakiraHikaru No.2

KirakiraHikaru回答回数354ベストアンサー獲得回数682006/08/15 17:50:33

ポイント35pt

下記のページにサンプルがあります。

http://www.vbstation.net/sample/0217.htm

VB6の環境が無いので動作確認できないのですが、

RegSetValueEx(hnd, nm, 0, REG_SZ, ByVal data, LenB(data))

と、書き込む処理がREG_SZと固定されてしまっているので、

下記のようにデータ種別の引数を増やすと使いやすいと思います。

Function SetReg(root As Long, key As String, nm As String, data As String, rtype As Long) As Boolean
    Dim hnd As Long
    Dim regret As Long
    SetReg = False
    'レジストリキーを開く、キーがなければ作成
    If RegCreateKey(root, key, hnd) = 0 Then
        'データを書き込む
        If RegSetValueEx(hnd, nm, 0, rtype, ByVal data, LenB(data)) = 0 Then
            SetReg = True
        End If
    End If
    'レジストリキーを閉じる
    regret = RegCloseKey(hnd)
End Function
id:yokodai

ありがとうございます。

2006/08/16 11:29:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません