Initial
This commit is contained in:
45
hookproc/enumdesk.hpp
Normal file
45
hookproc/enumdesk.hpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef _HOOKPROC_ENUMDESKTOPHOOK_HPP_
|
||||
#define _HOOKPROC_ENUMDESKTOPHOOK_HPP_
|
||||
#ifndef _HOOKPROC_APIENTRY_HPP_
|
||||
#include <hookproc/apientry.hpp>
|
||||
#endif
|
||||
#ifndef _HOOKPROC_PROCADDRESS_HPP_
|
||||
#include <hookproc/procaddr.hpp>
|
||||
#endif
|
||||
|
||||
class EnumDesktopHook;
|
||||
typedef ProcAddress<EnumDesktopHook> EnumDesktopHookProc;
|
||||
|
||||
class EnumDesktopHook : protected APIEntry, private EnumDesktopHookProc
|
||||
{
|
||||
public:
|
||||
typedef int (__stdcall *LPFNENUMDESKTOPPROC)(LPTSTR lpszDesktop,LPARAM lParam);
|
||||
EnumDesktopHook(void);
|
||||
virtual ~EnumDesktopHook();
|
||||
DWORD getHookAddress(void);
|
||||
protected:
|
||||
virtual bool enumDesktopProc(const String &strDesktop);
|
||||
private:
|
||||
enum {ParamLength=8};
|
||||
EnumDesktopHook &operator=(const EnumDesktopHook &someEnumDesktopHook);
|
||||
bool entryProc(LPTSTR lpszDesktop,LPARAM lParam);
|
||||
};
|
||||
|
||||
inline
|
||||
EnumDesktopHook::EnumDesktopHook(void)
|
||||
: APIEntry(ParamLength,(DWORD)this,getProcAddress((ProcAddress<EnumDesktopHook>::LPFNMETHODVOID)&EnumDesktopHook::entryProc))
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
EnumDesktopHook &EnumDesktopHook::operator=(const EnumDesktopHook &someEnumDesktopHook)
|
||||
{ // no implementation
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD EnumDesktopHook::getHookAddress(void)
|
||||
{
|
||||
return codeBase();
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user