다른 프로그램의 파일아이콘을 가져올때 사용할 수 있는 함수입니다.
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
파일도 마찬가지로 사용하시면 됩니다.
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 |