sora's DIGITAL SENIOR LIFE

(当サイトではアフィリエイトプログラムを利用して商品を紹介しています)

スターデジオの録音(6)Shell32.dllのエラー解決!



エラー解決の目処が立たず、一時はShell32を使うのを諦め、ファイルのID3タグを直接読んでタイトルとアーティストを取得するしかないか、と覚悟したのだが、ID3.orgの仕様を読み始めてすぐにめげてしまった。ID3仕様の日本語訳を公開しているサイトも見つけたのだが…
そんなとき、このShell32の問題を自力で回避することに成功したという英語のブログの書き込みを見つけた。
BloggerのNerdy notesのエントリ(VB.NET: Shell32 code compiled on Vista does not run on XP/2003)参照
つまり、ShellClassのインスタンスを作成するのに
Dim shell As New ShellClass()
の代わりにActivatorクラスのCreateInstanceメソッドを使って
Dim ShellAppType As Type = Type.GetTypeFromProgID("Shell.Application")
Dim Shell As Object = Activator.CreateInstance(ShellAppType)
とするとうまくいくらしい。
早速試してみると………なんと、うまく動くではないか!ありがたい!さすがインターネットの世界はすばらしい。
ということでなんとか、mp3の曲がiTunesに登録されているかをチェックするプログラム"iTCheck"が完成したのだった。