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


下駄はかせ  2008-01-14 03:02:56  No: 138615

普段、参考にさせています。
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-14 03:58:41  No: 138616

Registry / RegistryKey クラスを使えば Declare が不要になりますが。
// .NET 1.x だと RegistryValueKind が使えないので一部の型に制限があります。


下駄はかせ  2008-01-14 07:46:39  No: 138617

Dim regkey As Microsoft.Win32.RegistryKey

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

で解決できました

ありがとうございます


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加