■ VB2003でのレジストリの書き込み
下駄はかせ
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倍のチャンスも!
