レジストリの値のデータを取得するには?


アーサー  2005-06-01 00:11:03  No: 122113  IP: [192.*.*.*]

こんばんは

VBの初心者です。

レジストリの値のデータを表示したいのですが、うまくいきません。
どこが悪いのでしょうか?

宜しくお願い致します。
B's Recorderを例にしています。


 Dim i As String
  i = GetSetting("HKEY_LOCAL_MACHINE\SOFTWARE\B.H.A",  _
                            "B's Recorder GOLD7", "UserName")
  MsgBox i

編集 削除
アーサー  2005-06-01 00:12:21  No: 122114  IP: [192.*.*.*]

書き忘れました。
VB6です。

宜しくお願いします。

編集 削除
Say  2005-06-01 00:23:54  No: 122115  IP: [192.*.*.*]

ここを読めばちょっとだけ理由がわかるでしょう。

http://www31.ocn.ne.jp/~heropa/vb13.htm

ま、しかし、実際に読み込むにあたっては、API使うよりWSH使ったほうが簡単かも。

http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/wshshell.htm

編集 削除
アーサー  2005-06-01 00:57:24  No: 122116  IP: [192.*.*.*]

Sayさん回答ありがとうございます。

APIはすごい記述ですね。ちょっと理解するのに時間がかかりそう
なので、リンクを貼って頂いたWSHでしようと思うのですが、

下のコードだと

実行時エラー424
オブジェクトが必要です。
というエラーが表示されます。


もう少し教えて頂けないでしょうか?

宜しくお願い致します。




Dim i As String
Dim WSHShell

Set WSHShell = Wscript.CreateObject("Wscript.Shell")  ’ここでエラー
i = WSHShell.RegRead _
    ("HKEY_LOCAL_MACHINE\SOFTWARE\B.H.A\B's Recorder GOLD7\UserName")
MsgBox i

編集 削除
魔界の仮面弁士  2005-06-01 01:34:22  No: 122117  IP: [192.*.*.*]

WScriptはVB用のオブジェクトではなく、WSH専用のオブジェクトです。

> Set WSHShell = Wscript.CreateObject("Wscript.Shell")  ’ここでエラー
Set WSHShell = CreateObject("Wscript.Shell")
のようにしてください。

編集 削除