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.
74 lines
1.9 KiB
74 lines
1.9 KiB
//
|
|
// regwatch.h
|
|
//
|
|
|
|
|
|
#ifndef REGdWATCH_H
|
|
#define REGdWATCH_H
|
|
|
|
#include "private.h"
|
|
//#include "smblock.h"
|
|
#include "cregkey.h"
|
|
|
|
#define REG_WATCH_KBDTOGGLE 0
|
|
#define REG_WATCH_HKLM_IMX 1
|
|
#define REG_WATCH_KBDPRELOAD 2
|
|
#define REG_WATCH_RUN 3
|
|
#define REG_WATCH_HKCU_IMX 4
|
|
#define REG_WATCH_HKCU_SPEECH 5
|
|
#define REG_WATCH_HKCU_CPL_APPEARANCE 6
|
|
#define REG_WATCH_HKCU_CPL_COLORS 7
|
|
#define REG_WATCH_HKCU_CPL_METRICS 8
|
|
#define REG_WATCH_HKLM_SPEECH 9
|
|
#define REG_WATCH_KBDLAYOUT 10
|
|
#define REG_WATCH_HKCU_ASSEMBLIES 11
|
|
#define NUM_REG_WATCH 12
|
|
|
|
typedef struct _REGWATCH
|
|
{
|
|
HKEY hKeyRoot;
|
|
const char *pszKey;
|
|
HKEY hKey;
|
|
} REGWATCH;
|
|
|
|
class CRegWatcher
|
|
{
|
|
public:
|
|
CRegWatcher() {}
|
|
|
|
static BOOL Init();
|
|
static void Uninit();
|
|
|
|
static const HANDLE *GetEvents()
|
|
{
|
|
return _rgEvent;
|
|
}
|
|
|
|
static void OnEvent(DWORD dwEventId);
|
|
static void StartSysColorChangeTimer();
|
|
|
|
private:
|
|
static BOOL InitEvent(int nId, BOOL fReset = FALSE);
|
|
static BOOL PostAllThreadMsg(WPARAM wParam);
|
|
|
|
static UINT_PTR nRegImxTimerId;
|
|
static void RegImxTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
|
|
|
|
static UINT_PTR nSysColorTimerId;
|
|
static void SysColorTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
|
|
|
|
static UINT_PTR nKbdToggleTimerId;
|
|
static void KbdToggleTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
|
|
|
|
static UINT_PTR nKbdLayoutTimerId;
|
|
static void KbdLayoutTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
|
|
|
|
static void KillInternat();
|
|
static void UpdateSpTip();
|
|
static BOOL CALLBACK EnumWndProc(HWND hwnd, LPARAM lparam);
|
|
|
|
static REGWATCH _rgRegWatch[NUM_REG_WATCH];
|
|
static HANDLE _rgEvent[NUM_REG_WATCH];
|
|
};
|
|
|
|
#endif // REGdWATCH_H
|