人気ブログランキング | 話題のタグを見る
(.Net)Icon.ExtractAssociatedIcon メソッドにやられた
System.Drawing.Icon.ExtractAssociatedIcon(filePath) メソッドを使うと、引数にファイルパスを渡すだけで簡単にファイルに関連付けられたアイコンが取得できます。
今回はこれにやられました。

このメソッド、引数のファイルパスに UNC 指定するとだめみたいなのです。(¥¥server¥a¥a.txtとか)
UNCや存在しないパスを指定すると、ArgumentException が発生します。
MSDNにも書いてましたが、全然気づかずに使ってました。

一応、下記のように、ファイル存在チェックはしてたんですが。。。
'pctMemoFileはPictureBox,m_strFilePathはファイルパス
If File.Exists(m_strFilePath) Then
Dim appIcon As Icon = Icon.ExtractAssociatedIcon(m_strFilePath)
pctMemoFile.Image = appIcon.ToBitmap()
Else
pctMemoFile.Image = My.Resources.ファイルない時のリソース
End If



ファイルない時も ArgumentException 発生するので、Try Cacth 使うことにしました。
Try
Dim appIcon As Icon = Icon.ExtractAssociatedIcon(m_strFilePath)
pctMemoFile.Image = appIcon.ToBitmap()
Catch ex As ArgumentException
pctMemoFile.Image = My.Resources.ファイルない時のリソース
End Try


UNCくらい CLR で解決してくれよって感じです。
by jehoshaphat | 2009-06-02 23:17 | .Net開発


<< (Firefox)最近よくFi... (.Net)文字コードを調べる >>