VB アプリケーションを作成中ですが、アプリケーションを実行するたびに、以下のエラーが表示されます。
「フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラーは次のとおりです: CLSID {11219420-1768-11D1-95BE-00609797EA4F} のコンポーネントの COM クラス ファクトリの取得に失敗しました: 次のエラーが原因でした: 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
その他の情報: Windows 7 64 ビット マシンを使用しています。私は .Net 4.0 以前のバージョンを使用しており、Visual Studio 2012 で作業しています。また、プロジェクトに参照として shell32.dll を追加しています。この問題を解決するための助けをいただければ幸いです。
ありがとう。