OSDN Git Service

Use the reg command to import/export properties
[xkeymacs/xkeymacs.git] / xkeymacsdll / ipc.h
1 #pragma once\r
2 \r
3 #include "defs.h"\r
4 \r
5 struct AppConfig {\r
6         TCHAR AppName[CLASS_NAME_LENGTH];\r
7         TCHAR WindowText[WINDOW_TEXT_LENGTH];\r
8         BYTE SettingStyle;\r
9         BYTE CmdID[MAX_COMMAND_TYPE][MAX_KEY];\r
10         char FuncID[MAX_COMMAND_TYPE][MAX_KEY];\r
11         BYTE KillRingMax;\r
12         bool Is326Compatible;\r
13         bool EnableCUA;\r
14         bool UseDialogSetting;\r
15         bool IgnoreUndefC_x;\r
16         bool IgnoreUndefMetaCtrl;\r
17 };\r
18 \r
19 #define PIPENAME_MAX 256\r
20 \r
21 struct Config {\r
22         AppConfig AppConfig[MAX_APP];\r
23         KeyBind FuncDefs[MAX_FUNCTION][MAX_DEFINITION];\r
24         bool Is106Keyboard;\r
25         TCHAR PipeNameForIPC32[PIPENAME_MAX + 1];\r
26 };\r
27 \r
28 enum XKEYMACS_IPC32 { IPC32_TERMINATE, IPC32_ICON, IPC32_HOOKSTATE };\r
29 enum XKEYMACS_IPC64 { IPC64_EXIT, IPC64_RELOAD, IPC64_DISABLE, IPC64_ENABLE };\r
30 \r
31 struct IconState {\r
32         ICON_TYPE Type;\r
33         int State;\r
34         TCHAR Tip[128];\r
35 };\r
36 \r
37 struct IPC32Message {\r
38         XKEYMACS_IPC32 Type;\r
39         union {\r
40                 bool Enable;\r
41                 IconState IconState[MAX_ICON_TYPE];\r
42         };\r
43 };\r
44 \r
45 #define PIPENAME_IPC32 _T("xkeymacs32")\r
46 #define PIPENAME_IPC64 _T("xkeymacs64")\r