■ VB2003でのレジストリの書き込み

[Visual Basic 初心者掲示板] [過去ログの一覧]


下駄はかせ 2008/01/13(日) 18:02:56 <初心者>
普段、参考にさせています。
Declare ステートメントで宣言するときに、引数および戻り値のデータ型に As Any を指定できましたが VB.netではできません。

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, lpData As Any, ByVal cbData As Long) As Long  

下記の宣言を使って、レジストリに値を書き込もうとするとき、Anyのところで、コンパイラーに怒られるので stringに変えましたが、うまく書き込まれません。

例文
RegSetValueEx(hKey, vbNullString, 0, REG_SZ, myStrValue, Len(myStrValue) + 1)

もし、修正の方法をご存じでしたら、お教え下さい

Hongliang 2008/01/13(日) 18:58:41
Registry / RegistryKey クラスを使えば Declare が不要になりますが。
// .NET 1.x だと RegistryValueKind が使えないので一部の型に制限があります。

下駄はかせ 2008/01/13(日) 22:46:39 <初心者>
Dim regkey As Microsoft.Win32.RegistryKey



regkey.SetValue("string", "StringValue")

で解決できました

ありがとうございます

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library