Added a few messages for IME.
diff --git a/include/winuser.h b/include/winuser.h
index 5fe2f69..025b25c 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -593,6 +593,12 @@
#define WM_KEYFIRST WM_KEYDOWN
#define WM_KEYLAST 0x0108
+/* Win32 4.0 messages for IME */
+#define WM_IME_STARTCOMPOSITION 0x010d
+#define WM_IME_ENDCOMPOSITION 0x010e
+#define WM_IME_COMPOSITION 0x010f
+#define WM_IME_KEYLAST 0x010f
+
#define WM_INITDIALOG 0x0110
#define WM_COMMAND 0x0111
#define WM_SYSCOMMAND 0x0112
@@ -672,6 +678,21 @@
#define WM_EXITSIZEMOVE 0x0232
#define WM_DROPFILES 0x0233
+
+/* Win32 4.0 messages for IME */
+#define WM_IME_SETCONTEXT 0x0281
+#define WM_IME_NOTIFY 0x0282
+#define WM_IME_CONTROL 0x0283
+#define WM_IME_COMPOSITIONFULL 0x0284
+#define WM_IME_SELECT 0x0285
+#define WM_IME_CHAR 0x0286
+/* Win32 5.0 messages for IME */
+#define WM_IME_REQUEST 0x0288
+
+/* Win32 4.0 messages for IME */
+#define WM_IME_KEYDOWN 0x0290
+#define WM_IME_KEYUP 0x0291
+
/* Clipboard command messages */
#define WM_CUT 0x0300
#define WM_COPY 0x0301
diff --git a/misc/spy.c b/misc/spy.c
index 6caaf7e..00d217f 100644
--- a/misc/spy.c
+++ b/misc/spy.c
@@ -229,10 +229,13 @@
"WM_SYSCHAR", /* 0x0106 */
"WM_SYSDEADCHAR", /* 0x0107 */
"WM_KEYLAST", /* 0x0108 */
- NULL,
+ NULL,
"WM_CONVERTREQUEST",
- "WM_CONVERTRESULT",
- "WM_INTERIM", NULL, NULL, NULL,
+ "WM_CONVERTRESULT",
+ "WM_INTERIM",
+ "WM_IME_STARTCOMPOSITION", /* 0x010d */
+ "WM_IME_ENDCOMPOSITION", /* 0x010e */
+ "WM_IME_COMPOSITION", /* 0x010f */
"WM_INITDIALOG", /* 0x0110 */
"WM_COMMAND", /* 0x0111 */
@@ -442,11 +445,12 @@
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/* 0x0280 */
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, "WM_IME_SETCONTEXT", "WM_IME_NOTIFY", "WM_IME_CONTROL", "WM_IME_COMPOSITIONFULL", "WM_IME_SELECT", "WM_IME_CHAR", NULL,
+ "WM_IME_REQUEST", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ "WM_IME_KEYDOWN", "WM_IME_KEYUP", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ /* 0x02a0 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,