普段、参考にさせています。
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)
もし、修正の方法をご存じでしたら、お教え下さい
Registry / RegistryKey クラスを使えば Declare が不要になりますが。
// .NET 1.x だと RegistryValueKind が使えないので一部の型に制限があります。
Dim regkey As Microsoft.Win32.RegistryKey
と
regkey.SetValue("string", "StringValue")
で解決できました
ありがとうございます