Преобразовать код в VB6, чтобы vb.net. Получение ошибки с помощью метода чтения реестра. Пожалуйста, помогите исправить это.
Здравствуйте Друзья,
Я преобразовал свой код VB6 в VB.net и из - за зависимостей от окружающей среды я должен придерживаться dotnet 2.0.
Теперь после преобразования есть только один фрагмент кода, который терпит неудачу, и я не могу его исправить.
Вот код, который терпит неудачу и дает System.Io.exception: плохое имя файла или номер:
<pre lang="vb"> Dim objShell As Object Dim strPath As String Dim strDirectory As String strPathInstall = "HKEY_LOCAL_MACHINE\SOFTWARE\ABC\InstallInfo\" strDrive = "INSTALLDRIVE" objShell = CreateObject("Wscript.Shell") strDirectory = objShell.ReadRegistry(strPathInstall & strDrive)
То objShell.ReadRegistry заявление создает System.Io.Exception-неверное имя или номер файла, если запись реестра отсутствует на хост-компьютере и это приводит к сбою моего приложения. Если реестр присутствует, то он успешно извлекает значение, иначе выбрасывает исключение.
Я хочу обработать это исключение, я хочу, чтобы оно продолжалось до следующего оператора, если ему не удается найти элемент реестра в hostmachine или просто установить strDirectory = ""
Я не могу дать попробовать поймать на это заявление, потому что есть много этого readregistry инструкций в коде и его не хорошо, чтобы дать попробовать поймать, чтобы каждое утверждение readregistry.
есть ли какой-нибудь способ решить эту проблему? Пожалуйста, предложите.
Что я уже пробовал:
Я попробовал подход dotnet, но в некоторых других сценариях подход dotnet не может быть реализован из-за существующей логики.