• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

マウスカーソルへIMEモードの表示


Commit MetaInfo

Revision59eb3c80f1ff1b5a0198d11975aacc2639dd9752 (tree)
Time2023-06-24 16:07:57
AuthorJeffyTS <jeffyts@outl...>
CommiterJeffyTS

Log Message

1.0.2.6

Change Summary

Incremental Difference

--- a/FlushMouse/Cursor.cpp
+++ b/FlushMouse/Cursor.cpp
@@ -14,7 +14,7 @@
1414 #include "Cursor.h"
1515 #include "CommonDef.h"
1616 #include "FlushMouseLIB.h"
17-#include "..\FlushMouseCursor\Resource.h"
17+#include "..\FlushMouseDLL\EventlogDll.h"
1818 #include "..\MiscLIB\CRegistry.h"
1919
2020 //
@@ -1131,6 +1131,11 @@ BOOL CCursor::bSetSystemCursor(LPMOUSECURSOR lpstMC, int iCursorSizeX, int iCur
11311131 fuLoad = (LR_VGACOLOR | LR_DEFAULTSIZE | LR_DEFAULTCOLOR | LR_CREATEDIBSECTION);
11321132 if ((hCur = (HCURSOR)LoadImage((HINSTANCE)hMod, MAKEINTRESOURCE(lpstMC->uResourceID),
11331133 IMAGE_CURSOR, iCursorSizeX, iCursorSizeY, fuLoad)) == NULL) {
1134+ _Post_equals_last_error_ DWORD err = GetLastError();
1135+ if (err == ERROR_MOD_NOT_FOUND) {
1136+ bReportEvent(MSG_RESTART_EVENT, APPLICATION_CATEGORY);
1137+ PostMessage(hMainWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL);
1138+ }
11341139 if (!bCursorDllUnload()) return FALSE;
11351140 return FALSE;
11361141 }
--- a/FlushMouse/FlushMouse.cpp
+++ b/FlushMouse/FlushMouse.cpp
@@ -85,18 +85,18 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance
8585 int iRet = 0;
8686 if ((iRet = CompareStringOrdinal(lpCmdLine, -1, L"/quit", -1, TRUE)) != 0) {
8787 if (iRet == CSTR_EQUAL) {
88- bReportEvent(MSG_DONE_FLUSHMOUSE, APPLICATION_CATEGORY); // Eventlog
88+ bReportEvent(MSG_DONE_FLUSHMOUSE, Installer_CATEGORY);
8989 HWND hWnd = NULL;
90- if ((hWnd = FindWindow(CLASS_FLUSHMOUSE, NULL)) != NULL) { // 先に起動されているウィンドウハンドルを探す
91- SetFocus(GetLastActivePopup(hWnd)); // 先に起動されているウィンドウへフォーカスを与える
92- PostMessage(hWnd, WM_DESTROY, NULL, NULL); // 先に起動されているウィンドウを終了させる
90+ if ((hWnd = FindWindow(CLASS_FLUSHMOUSE, NULL)) != NULL) {
91+ SetFocus(GetLastActivePopup(hWnd));
92+ PostMessage(hWnd, WM_DESTROY, NULL, NULL);
9393 for (int i = 3; i > 0; i--) {
94- Sleep(500); // 終了を3回待つ
94+ Sleep(500);
9595 if ((hWnd = FindWindow(CLASS_FLUSHMOUSE, NULL)) != NULL) {
96- SetFocus(GetLastActivePopup(hWnd)); // 先に起動されているウィンドウへフォーカスを与える
97- PostMessage(hWnd, WM_DESTROY, NULL, NULL); // 先に起動されているウィンドウを終了させる
96+ SetFocus(GetLastActivePopup(hWnd));
97+ PostMessage(hWnd, WM_DESTROY, NULL, NULL);
9898 if (i == 1) {
99- return (-1); // 終了していない場合はエラー終了
99+ return (-1);
100100 }
101101 }
102102 else return 0;
@@ -116,7 +116,6 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance
116116 }
117117 if (!bWinMain(hInstance, hPrevInstance)) return (-1);
118118
119- // メイン メッセージ ループ:
120119 MSG msg{};
121120 while (GetMessage(&msg, NULL, 0, 0)) {
122121 HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_FLUSHMOUSE));
@@ -139,7 +138,7 @@ BOOL bSetHeapInformation()
139138 ULONG HeapInformation = 2;
140139 if (!HeapSetInformation(hHeap, HeapCompatibilityInformation, &HeapInformation, sizeof(ULONG))) {
141140 _Post_equals_last_error_ DWORD err = GetLastError();
142- if (err != ERROR_INVALID_PARAMETER) { // 87 (0x57)
141+ if (err != ERROR_INVALID_PARAMETER) {
143142 return FALSE;
144143 }
145144 }
@@ -199,35 +198,35 @@ static INT_PTR CALLBACK AboutDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM
199198 {
200199 RECT rc{};
201200 int cx = 0, cy = 0;
202- cx = GetSystemMetrics(SM_CXSCREEN); // スクリーンサイズの取得
201+ cx = GetSystemMetrics(SM_CXSCREEN);
203202 cy = GetSystemMetrics(SM_CYSCREEN);
204- GetWindowRect(hDlg, (LPRECT)&rc); // 子ウィンドウのスクリーン座標を取得
205- rc.right = rc.right - rc.left + 1; // 中央の計算
203+ GetWindowRect(hDlg, (LPRECT)&rc);
204+ rc.right = rc.right - rc.left + 1;
206205 rc.bottom = rc.bottom - rc.top + 1;
207206 rc.left = (cx - rc.right) / 2;
208207 rc.top = (cy - rc.bottom) / 2;
209- MoveWindow(hDlg, rc.left, rc.top, rc.right, rc.bottom, TRUE); // 移動
208+ MoveWindow(hDlg, rc.left, rc.top, rc.right, rc.bottom, TRUE);
210209 HICON hIcon = NULL;
211210 hIcon = (HICON)LoadImage(Resource->hLoad(), MAKEINTRESOURCE(IDI_SMALL), IMAGE_ICON, 16, 16, 0);
212- SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); // Iconの設定
211+ SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
213212 LPTSTR lpszVersion = new TCHAR[MAX_LOADSTRING];
214213 ZeroMemory(lpszVersion, (sizeof(TCHAR) * MAX_LOADSTRING));
215214 if (lpszVersion) {
216215 ZeroMemory(lpszVersion, (sizeof(TCHAR) * MAX_LOADSTRING));
217216 _sntprintf_s(lpszVersion, MAX_LOADSTRING, _TRUNCATE, _T("%d.%d.%d.%d"), MAJOR_VERSION, MINOR_VERSION, BUILD_VERSION, REVISON_VERSION);
218- SetDlgItemText(hDlg, IDC_VERSION, lpszVersion); // Versionの設定
217+ SetDlgItemText(hDlg, IDC_VERSION, lpszVersion);
219218 delete[] lpszVersion;
220219 }
221220 else return (INT_PTR)FALSE;
222221 }
223222 return (INT_PTR)TRUE;
224223 case WM_CTLCOLORDLG:
225- return (INT_PTR)GetStockObject(WHITE_BRUSH); // 背景の色
224+ return (INT_PTR)GetStockObject(WHITE_BRUSH);
226225 case WM_CTLCOLORSTATIC:
227226 case WM_CTLCOLOREDIT:
228227 SetBkMode(((HDC)wParam), TRANSPARENT);
229- SetTextColor(((HDC)wParam), RGB(0, 0, 0)); // 文字の色
230- return (INT_PTR)GetStockObject(WHITE_BRUSH); // 背景の色
228+ SetTextColor(((HDC)wParam), RGB(0, 0, 0));
229+ return (INT_PTR)GetStockObject(WHITE_BRUSH);
231230 case WM_COMMAND:
232231 if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
233232 EndDialog(hDlg, LOWORD(wParam));
--- a/FlushMouse/FlushMouseLIB.cpp
+++ b/FlushMouse/FlushMouseLIB.cpp
@@ -109,6 +109,7 @@ static void Cls_OnLButtonUpEx(HWND hWnd, int x, int y, HWND hForeground);
109109 static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UINT flags);
110110 static void Cls_OnEventForegroundEx(HWND hWnd, DWORD dwEvent, HWND hForeWnd);
111111 static void Cls_OnCheckIMEStartConvertingEx(HWND hWnd, BOOL bStartConversioning, DWORD vkCode);
112+static void Cls_OnCheckExistingJPIMEEx(HWND hWnd, BOOL bEPHelper);
112113
113114 // Sub
114115 static BOOL bSendInputSub(UINT cInputs, LPINPUT pInputs);
@@ -240,6 +241,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l
240241 HANDLE_MSG(hWnd, WM_POWERBROADCAST, Cls_OnPowerBroadcast);
241242 HANDLE_MSG(hWnd, WM_EVENT_SYSTEM_FOREGROUNDEX, Cls_OnEventForegroundEx);
242243 HANDLE_MSG(hWnd, WM_CHECKIMESTARTCONVEX, Cls_OnCheckIMEStartConvertingEx);
244+ HANDLE_MSG(hWnd, WM_CHECKEXISTINGJPIMEEX, Cls_OnCheckExistingJPIMEEx);
243245 break;
244246
245247 default:
@@ -304,8 +306,12 @@ static BOOL Cls_OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)
304306 return FALSE;
305307 }
306308
307- if (bCheckExistingJPIME() && bEnableEPHelper) bForExplorerPatcherSWS(GetForegroundWindow(), FALSE, FALSE, NULL, NULL);
308-
309+ if (bCheckExistingJPIME() && (bEnableEPHelper || bIMEModeForced)) {
310+ bForExplorerPatcherSWS(GetForegroundWindow(), TRUE, bIMEModeForced, NULL, NULL);
311+ }
312+
313+ bReportEvent(MSG_START_SUCCEED, APPLICATION_CATEGORY);
314+
309315 return TRUE;
310316 }
311317
@@ -345,6 +351,8 @@ static void Cls_OnDestroy(HWND hWnd)
345351 Cime = NULL;
346352 }
347353
354+ bReportEvent(MSG_QUIT_FLUSHMOUSE, APPLICATION_CATEGORY);
355+
348356 PostQuitMessage(0);
349357 }
350358
@@ -487,19 +495,21 @@ static void Cls_OnEventForegroundEx(HWND hWnd, DWORD dwEvent, HWND hForeWnd)
487495 return;
488496 }
489497 }
490- if (bCheckExistingJPIME() && bEnableEPHelper) bForExplorerPatcherSWS(hWnd, FALSE, FALSE, NULL, NULL); // @@@ for Explorer Patcher Simple Window Switcher
498+ if (bCheckExistingJPIME() && (bEnableEPHelper || bIMEModeForced)) {
499+ bForExplorerPatcherSWS(hWnd, TRUE, bIMEModeForced, NULL, NULL);
500+ }
491501 if (bOffChangedFocus) {
492502 Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE);
493503 }
494- if (!Cursor->bStartIMECursorChangeThread(hWndObserved)) return; // error
504+ if (!Cursor->bStartIMECursorChangeThread(hWndObserved)) return;
495505 POINT pt{};
496506 if (GetCursorPos(&pt)) {
497507 RECT rc{};
498508 if (FindWindow(L"Shell_TrayWnd", NULL) == GetForegroundWindow()) {
499- if (bGetTaskTrayWindowRect(hWnd, &rc) == FALSE) return; // error
500- if (((pt.x >= rc.left) && (pt.x <= rc.right)) || ((pt.y <= rc.top) && (pt.y >= rc.bottom))) return; // Clicked on Notify Icon
509+ if (bGetTaskTrayWindowRect(hWnd, &rc) == FALSE) return;
510+ if (((pt.x >= rc.left) && (pt.x <= rc.right)) || ((pt.y <= rc.top) && (pt.y >= rc.bottom))) return;
501511 }
502- if (!Cursor->bStartDrawIMEModeThread(hForeWnd)) return; // error
512+ if (!Cursor->bStartDrawIMEModeThread(hForeWnd)) return;
503513 }
504514 }
505515 }
@@ -587,7 +597,7 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI
587597 }
588598 break;
589599 case KEY_IME_OFF: // IME OFF (0x1a)
590- if (bIMEInConverting) return;
600+ bIMEInConverting = FALSE;
591601 if (bEnableEPHelper || bIMEModeForced) {
592602 if ((bIMEModeForced != FALSE) && (!Cime->bIsNewIME())) {
593603 Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE);
@@ -595,7 +605,7 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI
595605 }
596606 break;
597607 case KEY_CONVERT: // JP(IME/ENG) 変換 (0x1c)
598- bIMEInConverting = FALSE;
608+ if (bIMEInConverting) return;
599609 if (bEnableEPHelper || bIMEModeForced) {
600610 SetFocus(hForeWnd);
601611 if (bForExplorerPatcherSWS(hForeWnd, TRUE, bIMEModeForced, &hNewHKL, &hPreviousHKL)) {
@@ -795,6 +805,19 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI
795805 }
796806
797807 //
808+// WM_CHECKEXISTINGJPIMEEX
809+// Cls_OnCheckExistingJPIMEEx()
810+//
811+void Cls_OnCheckExistingJPIMEEx(HWND hWnd, BOOL bEPHelper)
812+{
813+ UNREFERENCED_PARAMETER(hWnd);
814+ UNREFERENCED_PARAMETER(bEPHelper);
815+ if (!bSetEnableEPHelperLL64(bEPHelper)) {
816+ PostMessage(hWnd, WM_DESTROY, (WPARAM)0, (LPARAM)0);
817+ }
818+}
819+
820+//
798821 // bKBisEP()
799822 //
800823 static BOOL bKBisEP()
@@ -968,7 +991,7 @@ BOOL bCheckExistingJPIME()
968991 if (lpHKL) delete[] lpHKL;
969992 }
970993 }
971- HWND hWnd = FindWindow(CLASS_FLUSHMOUSE32, NULL);
994+ HWND hWnd = FindWindow(CLASS_FLUSHMOUSE, NULL);
972995 if (hWnd != NULL) PostMessage(hWnd, WM_CHECKEXISTINGJPIMEEX, (WPARAM)bRet, (LPARAM)NULL);
973996 return bRet;
974997 }
@@ -1051,7 +1074,7 @@ BOOL bStartThreadHookTimer(HWND hWnd)
10511074 }
10521075 }
10531076
1054- HWND hFindWnd = FindWindow(CLASS_FLUSHMOUSE32, NULL);
1077+ HWND hFindWnd = FindWindow(CLASS_FLUSHMOUSE, NULL);
10551078 if (hFindWnd != NULL) {
10561079 if (bEnableEPHelper) {
10571080 PostMessage(hFindWnd, WM_CHECKEXISTINGJPIMEEX, (WPARAM)bEnableEPHelper, (LPARAM)NULL);
@@ -1136,8 +1159,9 @@ static VOID CALLBACK vCheckProcTimerProc(HWND hWnd, UINT uMsg, UINT uTimerID, DW
11361159
11371160 if (uTimerID == nCheckProcTimerID) {
11381161 if (FindWindow(CLASS_FLUSHMOUSE32, NULL) == NULL) {
1139- bReportEvent(MSG_RESTART_EVENT, APPLICATION_CATEGORY); // 再起動する
1140- PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL); // Quit
1162+ bReportEvent(MSG_DETECT_FLUSHMOUSE_STOP, APPLICATION_CATEGORY);
1163+ bReportEvent(MSG_RESTART_EVENT, APPLICATION_CATEGORY);
1164+ PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL);
11411165 }
11421166 }
11431167 }
--- a/FlushMouse/FlushMouseSub.cpp
+++ b/FlushMouse/FlushMouseSub.cpp
@@ -119,22 +119,23 @@ BOOL bReCreateTaskTrayWindow(HWND hWnd, UINT message)
119119 HICON hIcon = NULL;
120120 if ((hIcon = LoadIcon(Resource->hLoad(), MAKEINTRESOURCE(IDI_FLUSHMOUSE))) != NULL) {
121121 if (bCreateTaskTrayWindow(hWnd, hIcon, szTitle) == FALSE) {
122- if (bDestroyTaskTrayWindow(hWnd)) {
123- bTaskTray = FALSE;
124- }
125- bReportEvent(MSG_RESTART_EVENT, APPLICATION_CATEGORY);
126- Sleep(100);
127- return TRUE;
128- }
129- else {
130122 bTaskTray = TRUE;
131123 vStopThreadHookTimer(hWnd);
132124 if (!bStartThreadHookTimer(hWnd)) {
125+ bReportEvent(MSG_THREAD_HOOK_TIMER_RESTART_FAILED, APPLICATION_CATEGORY);// Eventlog
133126 PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL);
134127 }
135128 bReportEvent(MSG_THREAD_HOOK_TIMER_RESTARTED, APPLICATION_CATEGORY);
136129 return TRUE;
137130 }
131+ else {
132+ if (bDestroyTaskTrayWindow(hWnd)) {
133+ bTaskTray = FALSE;
134+ }
135+ bReportEvent(MSG_TASKTRAY_REGISTER_FAILD, APPLICATION_CATEGORY);// Eventlog
136+ bReportEvent(MSG_RESTART_EVENT, APPLICATION_CATEGORY);
137+ return TRUE;
138+ }
138139 }
139140 else {
140141 return FALSE;
@@ -163,11 +164,15 @@ BOOL bDestroyTaskTrayWindow(HWND hWnd)
163164 bTaskTray = FALSE;
164165 return TRUE;
165166 }
167+ else {
168+ return FALSE;
169+ }
166170 }
167171 catch (...) {
172+ return FALSE;
168173 }
169174 }
170- return FALSE;
175+ return TRUE;
171176 }
172177
173178 //
@@ -559,19 +564,12 @@ BOOL CPowerNotification::PowerBroadcast(HWND hWnd, ULONG Type, POWERBROADCAST_S
559564 UNREFERENCED_PARAMETER(lpSetting);
560565 switch (Type) {
561566 case PBT_APMSUSPEND:
562- vStopThreadHookTimer(hWnd);
563567 bReportEvent(MSG_PBT_APMSUSPEND, POWERNOTIFICATION_CATEGORY);
564- bReportEvent(MSG_THREAD_HOOK_TIMER_STOPPED, POWERNOTIFICATION_CATEGORY);
565568 break;
566569 case PBT_APMRESUMEAUTOMATIC:
567570 bReportEvent(MSG_PBT_APMRESUMEAUTOMATIC, POWERNOTIFICATION_CATEGORY);
568571 break;
569572 case PBT_APMRESUMESUSPEND:
570- vGetSetProfileData();
571- if (!bStartThreadHookTimer(hWnd)) {
572- PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL);
573- }
574- bReportEvent(MSG_THREAD_HOOK_TIMER_STARTED, POWERNOTIFICATION_CATEGORY);
575573 bReportEvent(MSG_PBT_APMRESUMESUSPEND, POWERNOTIFICATION_CATEGORY);
576574 break;
577575 case PBT_POWERSETTINGCHANGE:
@@ -584,13 +582,12 @@ BOOL CPowerNotification::PowerBroadcast(HWND hWnd, ULONG Type, POWERBROADCAST_S
584582 switch (PowerStatus.ACLineStatus) {
585583 case 0:
586584 bReportEvent(MSG_PBT_APMPOWERSTATUSCHANGE_AC_OFF, POWERNOTIFICATION_CATEGORY);
587- bDestroyTaskTrayWindow(hWnd);
585+ Sleep(3000);
588586 bReportEvent(MSG_RESTART_EVENT, POWERNOTIFICATION_CATEGORY);
587+ bDestroyTaskTrayWindow(hWnd);
589588 break;
590589 case 1:
591590 bReportEvent(MSG_PBT_APMPOWERSTATUSCHANGE_AC_ON, POWERNOTIFICATION_CATEGORY);
592- bReportEvent(MSG_RESTART_EVENT, POWERNOTIFICATION_CATEGORY);
593- PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL);
594591 break;
595592 default:
596593 break;
--- a/FlushMouse32/FlushMouse32.cpp
+++ b/FlushMouse32/FlushMouse32.cpp
@@ -277,7 +277,7 @@ static VOID CALLBACK vCheckProcTimerProc(HWND hWnd, UINT uMsg, UINT uTimerID, DW
277277 nIco.guidItem = GUID_NULL;
278278 nIco.uFlags = 0;
279279 try {
280- throw Shell_NotifyIcon(NIM_DELETE, &nIco); // Delete TaskTray Icon
280+ throw Shell_NotifyIcon(NIM_DELETE, &nIco);
281281 }
282282 catch (BOOL bRet) {
283283 if (!bRet) {
@@ -287,8 +287,9 @@ static VOID CALLBACK vCheckProcTimerProc(HWND hWnd, UINT uMsg, UINT uTimerID, DW
287287 catch (...) {
288288 return;
289289 }
290- bReportEvent(MSG_RESTART_EVENT, APPLICATION32_CATEGORY); // FlushMouseが動いていないため再起動する
291- PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL); // Quit
290+ bReportEvent(MSG_DETECT_FLUSHMOUSE_STOP, APPLICATION32_CATEGORY);
291+ bReportEvent(MSG_RESTART_EVENT, APPLICATION32_CATEGORY);
292+ PostMessage(hWnd, WM_DESTROY, (WPARAM)NULL, (LPARAM)NULL);
292293 }
293294 }
294295 return;
@@ -320,8 +321,24 @@ static BOOL bReportEvent(DWORD dwEventID, WORD wCategory)
320321 static void vMessageBox(HWND hWnd, UINT uID, UINT uType)
321322 {
322323 TCHAR lpText[MAX_LOADSTRING];
323- if (LoadString(hInst, uID, lpText, MAX_LOADSTRING) != 0) {
324- MessageBox(hWnd, lpText, szTitle, uType);
324+ try {
325+ throw LoadString(hInst, uID, lpText, MAX_LOADSTRING);
326+ }
327+ catch (int i) {
328+ if (i != 0) {
329+ try {
330+ throw MessageBox(hWnd, lpText, szTitle, uType);
331+ }
332+ catch (int) {
333+ return;
334+ }
335+ catch (...) {
336+ return;
337+ }
338+ }
339+ }
340+ catch (...) {
341+ return;
325342 }
326343 }
327344
--- a/FlushMouseDLL/EventlogData.h
+++ b/FlushMouseDLL/EventlogData.h
@@ -90,6 +90,15 @@
9090 #define DLL32_CATEGORY ((DWORD)0x00000003L)
9191
9292 //
93+// MessageId: Installer_CATEGORY
94+//
95+// MessageText:
96+//
97+// Installer Events
98+//
99+#define Installer_CATEGORY ((DWORD)0x00000004L)
100+
101+//
93102 // MessageId: POWERNOTIFICATION_CATEGORY
94103 //
95104 // MessageText:
@@ -138,6 +147,15 @@
138147 #define MSG_THREAD_HOOK_TIMER_STARTED ((DWORD)0x40000002L)
139148
140149 //
150+// MessageId: MSG_THREAD_HOOK_TIMER_START_FAILED
151+//
152+// MessageText:
153+//
154+// Thread, Hook and Timer Start Failed.
155+//
156+#define MSG_THREAD_HOOK_TIMER_START_FAILED ((DWORD)0x40008002L)
157+
158+//
141159 // MessageId: MSG_THREAD_HOOK_TIMER_STOPPED
142160 //
143161 // MessageText:
@@ -156,6 +174,15 @@
156174 #define MSG_THREAD_HOOK_TIMER_RESTARTED ((DWORD)0x40000004L)
157175
158176 //
177+// MessageId: MSG_THREAD_HOOK_TIMER_RESTART_FAILED
178+//
179+// MessageText:
180+//
181+// Thread, Hook and Timer Restart Failed.
182+//
183+#define MSG_THREAD_HOOK_TIMER_RESTART_FAILED ((DWORD)0x40008004L)
184+
185+//
159186 // MessageId: MSG_QUIT_FLUSHMOUSE
160187 //
161188 // MessageText:
@@ -183,6 +210,33 @@
183210 #define MSG_DONE_FLUSHMOUSE ((DWORD)0x00000007L)
184211
185212 //
213+// MessageId: MSG_TASKTRAY_REGISTERED
214+//
215+// MessageText:
216+//
217+// Registered TaskTray.
218+//
219+#define MSG_TASKTRAY_REGISTERED ((DWORD)0x00000008L)
220+
221+//
222+// MessageId: MSG_TASKTRAY_REGISTER_FAILD
223+//
224+// MessageText:
225+//
226+// Register TaskTray Failed.
227+//
228+#define MSG_TASKTRAY_REGISTER_FAILD ((DWORD)0x00008008L)
229+
230+//
231+// MessageId: MSG_DETECT_FLUSHMOUSE_STOP
232+//
233+// MessageText:
234+//
235+// Detected Stopping FlushMouse Process.
236+//
237+#define MSG_DETECT_FLUSHMOUSE_STOP ((DWORD)0x00008009L)
238+
239+//
186240 // MessageId: MSG_PBT_APMSUSPEND
187241 //
188242 // MessageText:
@@ -196,7 +250,7 @@
196250 //
197251 // MessageText:
198252 //
199-// Resuming from sleep or hibernation (APM).
253+// Resuming from Sleep or Hibernation (APM).
200254 //
201255 #define MSG_PBT_APMRESUMEAUTOMATIC ((DWORD)0x40000101L)
202256
--- a/FlushMouseDLL/EventlogData.mc
+++ b/FlushMouseDLL/EventlogData.mc
@@ -68,6 +68,16 @@ Language=Japanese
6868 DLL32 Events
6969 .
7070
71+MessageId=0x4
72+SymbolicName=Installer_CATEGORY
73+Language=English
74+Installer Events
75+.
76+
77+Language=Japanese
78+Installer Events
79+.
80+
7181 MessageId=0x10
7282 SymbolicName=POWERNOTIFICATION_CATEGORY
7383 Language=English
@@ -129,6 +139,18 @@ Language=Japanese
129139 Thread, Hook and Timer Started.
130140 .
131141
142+MessageId=0x8002
143+Severity=Informational
144+Facility=Application
145+SymbolicName=MSG_THREAD_HOOK_TIMER_START_FAILED
146+Language=English
147+Thread, Hook and Timer Start Failed.
148+.
149+
150+Language=Japanese
151+Thread, Hook and Timer Start Failed.
152+.
153+
132154 MessageId=0x0003
133155 Severity=Informational
134156 Facility=Application
@@ -153,6 +175,18 @@ Language=Japanese
153175 Thread, Hook and Timer Restarted.
154176 .
155177
178+MessageId=0x8004
179+Severity=Informational
180+Facility=Application
181+SymbolicName=MSG_THREAD_HOOK_TIMER_RESTART_FAILED
182+Language=English
183+Thread, Hook and Timer Restart Failed.
184+.
185+
186+Language=Japanese
187+Thread, Hook and Timer Restart Failed.
188+.
189+
156190 MessageId=0x0005
157191 Severity=Informational
158192 Facility=Application
@@ -188,6 +222,45 @@ Quit FlushMouse(Installer).
188222 Language=Japanese
189223 FlushMouseを終了します(Installer)。
190224 .
225+MessageId=0x0008
226+Severity=Success
227+Facility=Application
228+SymbolicName=MSG_TASKTRAY_REGISTERED
229+Language=English
230+Registered TaskTray.
231+.
232+
233+Language=Japanese
234+Registered TaskTray.
235+.
236+
237+MessageId=0x8008
238+Severity=Success
239+Facility=Application
240+SymbolicName=MSG_TASKTRAY_REGISTER_FAILD
241+Language=English
242+Register TaskTray Failed.
243+.
244+
245+Language=Japanese
246+Register TaskTray Failed.
247+.
248+
249+Language=Japanese
250+Registered TaskTray.
251+.
252+
253+MessageId=0x8009
254+Severity=Success
255+Facility=Application
256+SymbolicName=MSG_DETECT_FLUSHMOUSE_STOP
257+Language=English
258+Detected Stopping FlushMouse Process.
259+.
260+
261+Language=Japanese
262+Detected Stopping FlushMouse Process.
263+.
191264
192265 MessageId=0x0100
193266 Severity=Informational
@@ -206,11 +279,11 @@ Severity=Informational
206279 Facility=Application
207280 SymbolicName=MSG_PBT_APMRESUMEAUTOMATIC
208281 Language=English
209-Resuming from sleep or hibernation (APM).
282+Resuming from Sleep or Hibernation (APM).
210283 .
211284
212285 Language=Japanese
213-Resuming from sleep or hibernation (APM).
286+Resuming from Sleep or Hibernation (APM).
214287 .
215288
216289 MessageId=0x0102
--- a/FlushMouseDLL/KeyboardHookDll.cpp
+++ b/FlushMouseDLL/KeyboardHookDll.cpp
@@ -318,7 +318,7 @@ static LRESULT CALLBACK lpKeyboardHookLLProc(int nCode, WPARAM wParam, LPARAM lP
318318 //
319319 static BOOL bKBisEP()
320320 {
321- if (GetKeyboardType(1) == 0) { // EP Keyboard
321+ if (GetKeyboardType(1) == 0) {
322322 _Post_equals_last_error_ DWORD err = GetLastError();
323323 if (err != 0) {
324324 }
Binary files a/FlushMouseDLL/MSG00409.bin and b/FlushMouseDLL/MSG00409.bin differ
Binary files a/FlushMouseDLL/MSG00411.bin and b/FlushMouseDLL/MSG00411.bin differ
Binary files a/FlushMouse_x64.msi and b/FlushMouse_x64.msi differ
--- a/version.h
+++ b/version.h
@@ -8,11 +8,11 @@
88
99 #define MAJOR_VERSION 1
1010 #define MINOR_VERSION 0
11-#define BUILD_VERSION 1
12-#define REVISON_VERSION 1
11+#define BUILD_VERSION 2
12+#define REVISON_VERSION 6
1313
14-#define FILE_VERSION_STRING VALUE "FileVersion", "1.0.1.1"
15-#define PRODUCT_VERSION_STRING VALUE "ProductVersion", "1.0.1.1"
14+#define FILE_VERSION_STRING VALUE "FileVersion", "1.0.2.6"
15+#define PRODUCT_VERSION_STRING VALUE "ProductVersion", "1.0.2.6"
1616
1717 #define FILE_VERSION MAJOR_VERSION, MINOR_VERSION, BUILD_VERSION, REVISON_VERSION
1818 #define PRODUCT_VERSION MAJOR_VERSION, MINOR_VERSION, BUILD_VERSION, REVISON_VERSION
--- a/version.wxi
+++ b/version.wxi
@@ -1,5 +1,5 @@
11 <Include>
22 <!-- for wix Setup Project -->
3- <?define Version = "1.0.1.1" ?>
3+ <?define Version = "1.0.2.6" ?>
44 </Include>
55