This commit is contained in:
2024-08-07 09:16:27 -04:00
parent fdfadd5c7e
commit 5f971cf684
5200 changed files with 731717 additions and 0 deletions

45
hookproc/enumdesk.hpp Normal file
View 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