다른 프로그램의 파일아이콘을 가져올때 사용할 수 있는 함수입니다.

HICON GetFileIconHandle(CString strFileName, BOOL bSmallIcon)
{
 SHFILEINFO    sfi;
 if (bSmallIcon)
 {
  SHGetFileInfo(
     (LPCTSTR)strFileName,
     FILE_ATTRIBUTE_NORMAL,
     &sfi,
     sizeof(SHFILEINFO),
     SHGFI_ICON | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
 }
 else
 {
  SHGetFileInfo(
     (LPCTSTR)strFileName,
     FILE_ATTRIBUTE_NORMAL,
     &sfi,
     sizeof(SHFILEINFO),
     SHGFI_ICON | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES);
 }
 return sfi.hIcon;
}

HICON GetFolderIconHandle(BOOL bSmallIcon )
{
 SHFILEINFO    sfi;
 if (bSmallIcon)
 {
   SHGetFileInfo(
   (LPCTSTR)"Doesn't matter",
   FILE_ATTRIBUTE_DIRECTORY,
   &sfi,
   sizeof(SHFILEINFO),
   SHGFI_ICON | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
 }
 else
 {
   SHGetFileInfo(
   (LPCTSTR)"Does not matter",
   FILE_ATTRIBUTE_DIRECTORY,
   &sfi,
   sizeof(SHFILEINFO),
   SHGFI_ICON | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES);
 }
        return sfi.hIcon;
}

사용법
SetIcon(GetFolderIconHandle(FALSE), TRUE);   // Set big icon
SetIcon(GetFolderIconHandle(TRUE), FALSE);  // Set small icon
파일도 마찬가지로 사용하시면 됩니다.

'프로그래밍 팁 > etc' 카테고리의 다른 글

URLDownloadToFile 예제  (0) 2010.04.13
CImageList예제  (0) 2010.04.12
OS 정보 알기  (1) 2010.04.09
(MS)오토메이션 샘플  (0) 2010.04.06
작업스케줄러 관리자 권한으로 실행  (2) 2010.04.05
Posted by 띠깜
,