파일관리자 같은 앱을 만들다보면 꼭 필요하지요...
/// System.Drawing.Icon을 이용하여 아이콘을 추출하는 함수
public System.Windows.Media.ImageSource getIcon(string filename)
{
System.Windows.Media.ImageSource icon;
using (System.Drawing.Icon sysicon = System.Drawing.Icon.ExtractAssociatedIcon(filename))
{
icon = System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(
sysicon.Handle,
System.Windows.Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}
return icon;
}
// 이렇게 사용하세요. 아이콘파일의 기본 크기는 32이니깐...
private void button5_Click(object sender, RoutedEventArgs e)
{
image1.Source = getIcon(textBox1.Text);
image1.Width = 32;
image1.Height = 32;
}
당연하겠지만, 이코드를 사용하려면 System.Drawing을 참조추가해야만 하겠죠?
getIcon(textBox1.Text) 에서 textBox1.Text는 추출하고자 하는 파일의 실제경로(FullPath)이어야 합니다.
경로가 틀리면 에러가 발생하겠죠?
using (System.Drawing.Icon sysicon = System.Drawing.Icon.ExtractAssociatedIcon(filename))
이 줄에서 에러가 발생합니다.
실제 사용하려면 에러 핸들러를 달거나, 파일유무를 검사하면 되겠죠...
댓글 없음:
댓글 쓰기