OSDN Git Service

use boost_1_56_0 and build by VS2013
[yamy/yamy.git] / mayuipc.h
1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
2 // mayuipc.h - mayu inter process communication\r
3 \r
4 #ifndef _MAYUIPC_H\r
5 #  define _MAYUIPC_H\r
6 \r
7 #  include <windows.h>\r
8 \r
9 #  ifdef __cplusplus\r
10 extern "C"\r
11 {\r
12 #  endif // __cplusplus\r
13 \r
14 ///\r
15 #  define WM_MayuIPC_NAME _T("MayuIPC{46269F4D-D560-40f9-B38B-DB5E280FEF47}")\r
16 \r
17         enum MayuIPCCommand {\r
18                 // enable or disable Mayu\r
19                 MayuIPCCommand_Enable = 1,\r
20         };\r
21 \r
22         BOOL MayuIPC_PostMessage(MayuIPCCommand i_wParam, LPARAM i_lParam);\r
23         BOOL MayuIPC_Enable(BOOL i_isEnabled);\r
24 \r
25 #  ifdef _MAYUIPC_H_DEFINE_FUNCTIONS\r
26 \r
27         BOOL MayuIPC_PostMessage(MayuIPCCommand i_command, LPARAM i_lParam) {\r
28                 static UINT WM_MayuIPC;\r
29                 HWND hwnd;\r
30 \r
31                 if (WM_MayuIPC == 0) {\r
32                         WM_MayuIPC = RegisterWindowMessage(WM_MayuIPC_NAME);\r
33                         if (WM_MayuIPC == 0) {\r
34                                 return FALSE;\r
35                         }\r
36                 }\r
37 \r
38                 hwnd = FindWindow(_T("mayuTasktray"), NULL);\r
39                 if (hwnd == NULL) {\r
40                         return FALSE;\r
41                 }\r
42                 PostMessage(hwnd, WM_MayuIPC, i_command, i_lParam);\r
43                 return TRUE;\r
44         }\r
45 \r
46         BOOL MayuIPC_Enable(BOOL i_isEnabled) {\r
47                 return MayuIPC_PostMessage(MayuIPCCommand_Enable, i_isEnabled);\r
48         }\r
49 \r
50 #  endif // _MAYUIPC_H_DEFINE_FUNCTIONS\r
51 \r
52 #  ifdef __cplusplus\r
53 }\r
54 #  endif // __cplusplus\r
55 #endif // !_MAYUIPC_H\r