VB.Net COMException была необработанной ошибкой

У меня есть программа VB.Net, написанная с помощью .Net 2.0. Я пытаюсь написать код, который регистрирует все записи реестра в файле журнала. У меня есть работа со следующим кодом. 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 исключения, чтобы определить HRESULT, возвращаемый COM-объектом.

Я не уверен, почему он ограничивает его только 5 проверками. У кого-нибудь есть идеи?


person Timothy Staudt    schedule 30.12.2012    source источник
comment
Вы уверены, что ключ действительно существует?   -  person Pow-Ian    schedule 31.12.2012


Ответы (1)


Рассмотрите возможность использования встроенной поддержки реестра вместо библиотек COM. Как минимум, вы получите более четкие сообщения об ошибках. Он поддерживается в .NET 2.0.

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

Удачи!

person tcarvin    schedule 31.12.2012
comment
Здорово! Если это решило вашу проблему, примите ответ, щелкнув слева от ответа. - person tcarvin; 03.01.2013