初めまして
.NetのWebアプリケーションを作成していますが、レジストリ取得が出来なくて困っております。
やりたいことは、アプリケーションを実行したクライアントの
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NetSh\1
の値を取得するというものです。
Dim rKey As RegistryKey
Dim name As String
Dim name2 As String
Dim returnValue As Object
Dim returnValueB As Byte
Dim returnValueEx As String
name="SOFTWARE\Microsoft\NetSh"
name2="1"
rKey = Microsoft.Win32.Registry.LocalMachine
rKey = rKey.OpenSubKey(name)
returnValue = rKey.GetValue(name2)
returnValueB = CType(returnValue,Byte)
returnValueEx = CType(returnValueB,String)
rKey.Close()
上記プログラムを実行すると returnValueEx の値が 0 となってしまいます。
実際には、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NetSh\1に「ipmontr.dll」が格納されています。
上記プログラムでおかしい点はありますでしょうか。
>上記プログラムでおかしい点はありますでしょうか。
私の環境では、
>Dim name As String
のnameが競合してると言うワーニングが出ますが。
それはそれとして、
>returnValueB = CType(returnValue,Byte)
これは何でしょうか?
単に
returnValueEx = returnValue.ToString
で良いのでは
>nameが競合してると言うワーニングが出ますが。
もしかしたら、ここが悪さしているのかと思い name -> name1 に変更してみました。
また
>returnValueEx = returnValue.ToString
>で良いのでは
とのことでしたので、変更してみました。
上記変更で、「ipmontr.dll」が取得することが出来ました
ありがとう御座いました。
解決のチェックを忘れました。
ツイート | ![]() |