人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: yokodai
●カテゴリ:コンピュータ
✍キーワード:レジストリ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● くまっぷす
●35ポイント

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...

◎質問者からの返答

ありがとうございます。


2 ● KirakiraHikaru
●35ポイント

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

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
◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ