Я нахожусь в процессе написания приложения VB, но всякий раз, когда я запускаю приложение, я получаю сообщение об ошибке, указанное ниже:
«Произошла ошибка при создании формы. Подробнее см. Exception.InnerException. Ошибка: не удалось получить фабрику классов COM для компонента с CLSID {11219420-1768-11D1-95BE-00609797EA4F} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Я попытался зарегистрировать файл shell32.dll, я искал в реестре запись {11219420-1768-11D1-95BE-00609797EA4F}, но ее не существует, и я попытался скомпилировать это приложение для x86.
Imports Shell32
Imports System.IO
Public Class frmIconChanger
Dim sh As ShellLinkObject = New ShellLinkObject
Private Sub btnBackupAndChange_Click(sender As Object, e As EventArgs) Handles btnBackupAndChange.Click
For Each desktopIcon In My.Computer.FileSystem.GetFiles("C:\Users\" + getUserName().ToString + "\Desktop")
Dim fileExtension As String = Path.GetExtension(desktopIcon)
If (fileExtension = ".lnk") Then
MsgBox(sh.GetIconLocation(desktopIcon).ToString)
End If
Next
End Sub
Private Function getUserName() As String
Return System.Environment.UserName.Trim
End Function
End Class
Дополнительная информация: У меня 64-битная машина с Windows 7. У меня есть .Net 4.0 и предыдущие версии, и я работаю в Visual Studio 2012. Также у меня есть shell32.dll, добавленный в качестве ссылки в моем проекте. Любая помощь в решении этой проблемы будет высоко оценена.
Спасибо.