You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CExtractIcon
|
|
//
|
|
// IExtractIcon implementation
|
|
//
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _INC_CEXTICON_H
|
|
#define _INC_CEXTICON_H
|
|
|
|
class CExtractIcon : public IExtractIconA, public IExtractIconW
|
|
{
|
|
public:
|
|
// *** IUnknown methods ***
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
|
|
ULONG STDMETHODCALLTYPE AddRef(void);
|
|
ULONG STDMETHODCALLTYPE Release(void);
|
|
|
|
// *** IExtractIconA methods ***
|
|
HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags,LPSTR szIconFile,UINT cchMax,int FAR *piIndex,UINT FAR *pwFlags);
|
|
HRESULT STDMETHODCALLTYPE Extract(LPCSTR pszFile,UINT nIconIndex,HICON FAR *phiconLarge,HICON FAR *phiconSmall,UINT nIcons);
|
|
|
|
#ifndef WIN16 // WIN16FF
|
|
// *** IExtractIconW methods ***
|
|
HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags,LPWSTR szIconFile,UINT cchMax,int FAR *piIndex,UINT FAR *pwFlags);
|
|
HRESULT STDMETHODCALLTYPE Extract(LPCWSTR pszFile,UINT nIconIndex,HICON FAR *phiconLarge,HICON FAR *phiconSmall,UINT nIcons);
|
|
#endif // !WIN16
|
|
|
|
CExtractIcon(int iIcon, int iIconOpen, UINT uFlags, LPSTR szModule);
|
|
~CExtractIcon();
|
|
|
|
private:
|
|
UINT m_cRef;
|
|
int m_iIcon;
|
|
int m_iIconOpen;
|
|
UINT m_uFlags;
|
|
char m_szModule[MAX_PATH];
|
|
};
|
|
|
|
#endif // _INC_CEXTICON_H
|