62 lines
1.2 KiB
C++
62 lines
1.2 KiB
C++
#ifndef _HOOKPROC_OFNHOOK_HPP_
|
|
#define _HOOKPROC_OFNHOOK_HPP_
|
|
#ifndef _HOOKPROC_APIENTRY_HPP_
|
|
#include <hookproc/apientry.hpp>
|
|
#endif
|
|
#ifndef _HOOKPROC_PROCADDRESS_HPP_
|
|
#include <hookproc/procaddr.hpp>
|
|
#endif
|
|
|
|
class OFNHook;
|
|
typedef ProcAddress<OFNHook> OpenFileHook;
|
|
|
|
class OFNHook : protected APIEntry, private OpenFileHook
|
|
{
|
|
public:
|
|
OFNHook(void);
|
|
virtual ~OFNHook();
|
|
DWORD getHookAddress(void);
|
|
HWND getHandle(void)const;
|
|
HWND getParent(void)const;
|
|
protected:
|
|
virtual UINT hookProc(HWND hDlg,UINT uiMsg,WPARAM wParam,LPARAM lParam);
|
|
private:
|
|
enum {ParamLength=16};
|
|
OFNHook &operator=(const OFNHook &someOFNHook);
|
|
UINT entryProc(HWND hDlg,UINT uiMsg,WPARAM wParam,LPARAM lParam);
|
|
HWND mhDlg;
|
|
HWND mhParent;
|
|
};
|
|
|
|
inline
|
|
OFNHook::OFNHook(void)
|
|
: APIEntry(ParamLength,(DWORD)this,getProcAddress((ProcAddress<OFNHook>::LPFNMETHODVOID)&OFNHook::entryProc)),
|
|
mhDlg(0), mhParent(0)
|
|
{
|
|
}
|
|
|
|
inline
|
|
OFNHook &OFNHook::operator=(const OFNHook &someOFNHook)
|
|
{ // no implementation
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
DWORD OFNHook::getHookAddress(void)
|
|
{
|
|
return codeBase();
|
|
}
|
|
|
|
inline
|
|
HWND OFNHook::getHandle(void)const
|
|
{
|
|
return mhDlg;
|
|
}
|
|
|
|
inline
|
|
HWND OFNHook::getParent(void)const
|
|
{
|
|
return mhParent;
|
|
}
|
|
#endif
|