원문 : Extracting the Icon for a File



Extracting the Icon for a File



 파일로 부터 파일이 사용하고 있는 아이콘을 얻는 방법이다.
Microsoft Windows 운영체제에서 사용되는 파일들은 아이콘을 사용한다. 이 아이콘은 사용자들이 해당 파일을 쉽게 식별하고 이해할 수 있도록 도움을 준다. 아이콘은 실행파일(exe)이나 DLL에 포함되거나 직접 Icon 파일을 배포하여 사용되어진다.  이러한 각각의 경우들에 대하여 파일이 사용하는 아이콘에 접근하는 방법을 알아보자.


File Icons

Microsoft Windows 운영체제에서 파일들은 아이콘을 갖는다. 만약 파일에 아이콘을 설정하지 않으면 Default 아이콘을 사용하게 된다. 당신이 만약 파일과 관련된 응용프로그램을 작성할 때, 파일의 아이콘에 접근하기 위해서는 Icon 클래스를 사용하면 된다. 

Icon 클래스는 System.Drawing 네임스페이스에 있다. Icon 클래스의 인스턴스로 윈도우즈 아이콘을 나타내거나 얻는다. 또한 아이콘 정보 및 변환 작업도 수행할 수 있다. Icon 클래스에는 정적 메소드도 존재하며 아이콘을 얻기 위해선  ExtractAssociatedIcon 정적 메소드를 이용한다. ExtractAssociatedIcon 리턴값으로 파일의 아이콘 이미지를 포함한 Icon 클래스 인스턴스를 리턴한다. 파일의 경로는 매개변수로 전달한다.

사용 예는 다음과 같다.
if (FileSelectionDialog.ShowDialog() == DialogResult.OK)
{
           Icon icon = Icon.ExtractAssociatedIcon(FileSelectionDialog.FileName);
           this.Icon = icon;
           IconArea.Image = icon.ToBitmap();
}


우선 파일 선택 Component (FileSelectionDialog)를 이용하여 파일의 경로를 얻고, Icon 클래스의 ExtractAssociatedIcon 정적 메소드를 이용하여 아이콘 정보를 담은 Icon 인스턴스를 리턴 받는다. 만약 위 예제가 WinForm 응용프로그램이라면 메인 폼의 아이콘을 바꿀 수 있다. Icon 인스턴스의 ToBitmap() 멤버 변수를 사용하여 아이콘을 bitmap으로 변환하여 PictureBox 의 Image 프로퍼티에 전달할 수 있다.


아래 예제 파일은 원문 홈페이지에 있는 예제 파일이다.

Posted by six605
,