|
델마당(www.delmadang.com) 양병규님의 팁을 빌더로 바꿨습니다.
밑에 지정된 패스는 실재 존재하지 않아도 되는 패스입니다.
#include <ShellApi>
HICON __fastcall GetFileIcon(String FileName)
{
TSHFileInfo SHFileInfo;
SHGetFileInfo(FileName.c_str(), 0UL, &SHFileInfo, sizeof(TSHFileInfo),
SHGFI_USEFILEATTRIBUTES | SHGFI_ICON | SHGFI_EXETYPE /*| SHGFI_SMALLICON */);
return SHFileInfo.hIcon;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TIcon *AIcon = new TIcon;
try{
AIcon->Handle = GetFileIcon( "c:\\aaaa\\bbbb\\test.mp3" );
Image1->Picture->Assign(AIcon);
Invalidate();
}
__finally{
AIcon->Free();
}
}
//---------------------------------------------------------------------------
사무엘 님이 쓰신 글 :
: 예를들면 *.doc 은 보통 msword와 관련된 아이콘이 등록되어 있는데요.
: 이렇게 프로그램자신의 아이콘은 물론 연결된 확장자의 아이콘을 얻어오고 싶은데
: 어떻게 하면 되나요?
|