0

.Net2.0で記述されたVB.Netプログラムがあります。レジストリエントリ全体をログファイルに記録するコードを記述しようとしています。私はそれを次のコードで動作させることができました。 http://pastebin.com/kmA63cUe ただし、ログにレジストリキーを追加しようとすると、ログに記録されます。

LogPrint4("<-----------------HKLM/WebCheck-------------------->")
    If reg.enumvalues(&H8000002, "Software\Microsoft\Windows\CurrentVersion\WebCheck", keys2, types) = 0 Then
        If IsArray(keys2) Then
            For p = 0 To UBound(keys2)
                reg.getstringvalue(&H8000002, "Software\Microsoft\Windows\CurrentVersion\WebCheck", keys2(p), value)
                LogPrint4(keys2(p) & "=" & value)
            Next
        End If
    End If

次のエラーが発生します

COMExceptionが処理されませんでした例外のErrorCodeプロパティを確認して、COMオブジェクトによって返されるHRESULTを判別してください。

なぜそれが5つのチェックだけに制限されているのかわかりません。誰かアイデアはありますか?

4

1 に答える 1

1

COMライブラリの代わりに組み込みのレジストリサポートを使用することを検討してください。少なくとも、より明確なエラーメッセージが表示されます。.NET2.0でサポートされています。

http://msdn.microsoft.com/en-us/library/microsoft.win32.registry(v=vs.80).aspx

幸運を!

于 2012-12-31T14:25:25.710 に答える