1 #ifndef __DCHookLoader_h
2 #define __DCHookLoader_h
7 enum eShortCutIndexes {
28 #define SCINX_NOTIFY64 (0x1000) // notify from 64bit HookDll
32 class THookArray : public THookDllI {
34 typedef vector<THookDllI*> hook_vec;
35 vector<THookDllI*> Hooks;
37 virtual ~THookArray();
38 void add(THookDllI*dll)
43 { return Hooks.size(); }
44 virtual bool Load(HWND hwnd);
45 virtual void Unload();
47 virtual bool Init(HWND hwnd);
48 void Init32(HWND hwnd);
49 virtual void Uninit();
50 virtual int Config( int clickonly, int keyaction, int keyflag );
51 virtual int Config2( struct TDCHConfig *cfg );
52 virtual int Capture();
53 virtual int CaptureAsync();
54 virtual int CaptureAsyncWait();
56 virtual bool IsLoaded();
57 THookDllI &operator [](int i)
66 bool EnableSendAllKeys;
68 class THookLoader64 *Hook64; // reference pointer
69 class THookLoader *Hook32; // reference pointer
73 TDCHookLoader(bool use64);
74 bool LoadHook( HWND hwndParent );
76 void Config( int clickonly, int keyaction, int keyflag );
77 void Config2( struct TDCHConfig *cfg );
80 void CaptureAsyncWait();
83 void Notify64(LPARAM lParam);
85 { return !LoadPending; }
87 void Init32(HWND hwnd); // for debug
89 void LoadHookPost(HWND hwndParent);
90 int LoadKeyProfiles( );
93 extern ::TDCHookLoader shortcut;
95 #endif // __DCHookLoader_h