マウスカーソルへIMEモードの表示
Revision | 32c2da9cf5d3ed1c3a988abeec3a5c8feeddc79a (tree) |
---|---|
Zeit | 2023-10-03 11:56:10 |
Autor | JeffyTS <jeffyts@outl...> |
Commiter | JeffyTS |
1.1.8.4
@@ -105,6 +105,13 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance | ||
105 | 105 | } |
106 | 106 | } |
107 | 107 | } |
108 | + else if ((iRet = CompareStringOrdinal(lpCmdLine, -1, L"/start", -1, TRUE)) != 0) { | |
109 | + if (iRet == CSTR_EQUAL) { | |
110 | + bReportEvent(MSG_START_FLUSHMOUSE, Shortcut_CATEGORY); // Eventlog | |
111 | + if (hHandle != NULL) CloseHandle(hHandle); | |
112 | + return 0; | |
113 | + } | |
114 | + } | |
108 | 115 | } |
109 | 116 | if (hHandle != NULL) CloseHandle(hHandle); |
110 | 117 | return 0; |
@@ -100,6 +100,15 @@ | ||
100 | 100 | #define Installer_CATEGORY ((DWORD)0x00000004L) |
101 | 101 | |
102 | 102 | // |
103 | +// MessageId: Shortcut_CATEGORY | |
104 | +// | |
105 | +// MessageText: | |
106 | +// | |
107 | +// Sortcut Events | |
108 | +// | |
109 | +#define Shortcut_CATEGORY ((DWORD)0x00000005L) | |
110 | + | |
111 | +// | |
103 | 112 | // MessageId: POWERNOTIFICATION_CATEGORY |
104 | 113 | // |
105 | 114 | // MessageText: |
@@ -193,20 +202,20 @@ | ||
193 | 202 | #define MSG_QUIT_FLUSHMOUSE ((DWORD)0x40000005L) |
194 | 203 | |
195 | 204 | // |
196 | -// MessageId: MSG_RESTART_INSTALLER | |
205 | +// MessageId: MSG_START_FLUSHMOUSE | |
197 | 206 | // |
198 | 207 | // MessageText: |
199 | 208 | // |
200 | -// Start FlushMouse(Installer). | |
209 | +// Start FlushMouse. | |
201 | 210 | // |
202 | -#define MSG_RESTART_INSTALLER ((DWORD)0x00000006L) | |
211 | +#define MSG_START_FLUSHMOUSE ((DWORD)0x00000006L) | |
203 | 212 | |
204 | 213 | // |
205 | 214 | // MessageId: MSG_DONE_FLUSHMOUSE |
206 | 215 | // |
207 | 216 | // MessageText: |
208 | 217 | // |
209 | -// Quit FlushMouse(Installer). | |
218 | +// Quit FlushMouse. | |
210 | 219 | // |
211 | 220 | #define MSG_DONE_FLUSHMOUSE ((DWORD)0x00000007L) |
212 | 221 |
@@ -79,6 +79,16 @@ Language=Japanese | ||
79 | 79 | Installer Events |
80 | 80 | . |
81 | 81 | |
82 | +MessageId=0x5 | |
83 | +SymbolicName=Shortcut_CATEGORY | |
84 | +Language=English | |
85 | +Sortcut Events | |
86 | +. | |
87 | + | |
88 | +Language=Japanese | |
89 | +Sortcut Events | |
90 | +. | |
91 | + | |
82 | 92 | MessageId=0x10 |
83 | 93 | SymbolicName=POWERNOTIFICATION_CATEGORY |
84 | 94 | Language=English |
@@ -203,13 +213,13 @@ FlushMouseを終了します。 | ||
203 | 213 | MessageId=0x0006 |
204 | 214 | Severity=Success |
205 | 215 | Facility=Application |
206 | -SymbolicName=MSG_RESTART_INSTALLER | |
216 | +SymbolicName=MSG_START_FLUSHMOUSE | |
207 | 217 | Language=English |
208 | -Start FlushMouse(Installer). | |
218 | +Start FlushMouse. | |
209 | 219 | . |
210 | 220 | |
211 | 221 | Language=Japanese |
212 | -FlushMouseを起動します(Installer)。 | |
222 | +FlushMouseを起動します。 | |
213 | 223 | . |
214 | 224 | |
215 | 225 | MessageId=0x0007 |
@@ -217,12 +227,13 @@ Severity=Success | ||
217 | 227 | Facility=Application |
218 | 228 | SymbolicName=MSG_DONE_FLUSHMOUSE |
219 | 229 | Language=English |
220 | -Quit FlushMouse(Installer). | |
230 | +Quit FlushMouse. | |
221 | 231 | . |
222 | 232 | |
223 | 233 | Language=Japanese |
224 | -FlushMouseを終了します(Installer)。 | |
234 | +FlushMouseを終了します。 | |
225 | 235 | . |
236 | + | |
226 | 237 | MessageId=0x0008 |
227 | 238 | Severity=Success |
228 | 239 | Facility=Application |
@@ -278,7 +278,6 @@ static LRESULT CALLBACK lpKeyboardHookLLProc(int nCode, WPARAM wParam, LPARAM lP | ||
278 | 278 | PostMessage(hWndKBParentLL, WM_SYSKEYDOWNUPEX, (KEY_OEM_COPY), (0x7f000000 & (static_cast<LPARAM>(lpstKBH->flags) << 24))); |
279 | 279 | } |
280 | 280 | break; |
281 | - case VK_RETURN: // RETURN (0x0d) | |
282 | 281 | case VK_ESCAPE: // ESC (0x1b) |
283 | 282 | case VK_INSERT: // INSERT (0x2d) |
284 | 283 | bOnlyCtrlLL = FALSE; |
@@ -296,7 +296,7 @@ BOOL CCursor::_bStartDrawIMEModeThread(HWND hWndObserved) | ||
296 | 296 | // |
297 | 297 | BOOL CCursor::bShowHideCursor(HWND hWndObserved, BOOL bShow) |
298 | 298 | { |
299 | - BOOL bRet = FALSE; | |
299 | + BOOL bRet = FALSE; | |
300 | 300 | if (bShow) { |
301 | 301 | bRet = bStartDrawIMEModeThread(hWndObserved); |
302 | 302 | } |
@@ -311,8 +311,8 @@ BOOL CCursor::bShowHideCursor(HWND hWndObserved, BOOL bShow) | ||
311 | 311 | // |
312 | 312 | BOOL CCursor::bGetCaretPos(HWND hWnd, LPPOINT lpCaretPos) |
313 | 313 | { |
314 | - BOOL bRet = FALSE; | |
315 | - RECT rc{}; | |
314 | + BOOL bRet = FALSE; | |
315 | + RECT rc{}; | |
316 | 316 | lpCaretPos->x = 0; lpCaretPos->y = 0; |
317 | 317 | if (_hGetCaretPosByAccessibleObjectFromWindow(hWnd, &rc) != NULL) { |
318 | 318 | bRet = TRUE; |
@@ -393,7 +393,7 @@ BOOL CCursor::bIMECursorChangeRoutine(LPVOID lpvParam) | ||
393 | 393 | { |
394 | 394 | LPIMECURSORDATA lpstCursorData = (LPIMECURSORDATA)lpvParam; |
395 | 395 | CCursor *This = reinterpret_cast<CCursor*>(lpvParam); |
396 | - BOOL bRet = TRUE; | |
396 | + BOOL bRet = TRUE; | |
397 | 397 | if (lpstCursorData->bDisplayIMEModeOnCursor) { |
398 | 398 | This->bIsIMECursorChanged(lpstCursorData); |
399 | 399 | if (!This->bChangeFlushMouseCursor(lpstCursorData->dwIMEModeCursor, lpstCursorData)) { |
@@ -429,7 +429,7 @@ BOOL WINAPI CCursor::_bDrawIMEModeRoutine(LPVOID lpvParam) | ||
429 | 429 | { |
430 | 430 | LPIMECURSORDATA lpstCursorData = (LPIMECURSORDATA)lpvParam; |
431 | 431 | CCursor *This = reinterpret_cast<CCursor*>(lpvParam); |
432 | - BOOL bRet = TRUE; | |
432 | + BOOL bRet = TRUE; | |
433 | 433 | This->bIsIMECursorChanged(lpstCursorData); |
434 | 434 | if (!This->bDrawIMEModeOnDisplay(lpstCursorData)) { |
435 | 435 | _Post_equals_last_error_ DWORD err = GetLastError(); |
@@ -448,7 +448,7 @@ BOOL WINAPI CCursor::_bDrawIMEModeRoutine(LPVOID lpvParam) | ||
448 | 448 | // |
449 | 449 | BOOL CCursor::bIsIMECursorChanged(LPIMECURSORDATA lpstCursorData) |
450 | 450 | { |
451 | - DWORD dwIMEMode = (DWORD)(-1); | |
451 | + DWORD dwIMEMode = (DWORD)(-1); | |
452 | 452 | |
453 | 453 | dwIMEMode = Cime->dwIMEMode(lpstCursorData->hWndObserved, lpstCursorData->bForceHiragana); |
454 | 454 | if (lpstCursorData->dwIMEModeCursor == dwIMEMode) return FALSE; |
@@ -461,8 +461,8 @@ BOOL CCursor::bIsIMECursorChanged(LPIMECURSORDATA lpstCursorData) | ||
461 | 461 | // |
462 | 462 | BOOL CCursor::bDrawIMEModeOnDisplay(LPIMECURSORDATA lpstCursorData) |
463 | 463 | { |
464 | - BOOL bRet = FALSE; | |
465 | - RECT rc{}; | |
464 | + BOOL bRet = FALSE; | |
465 | + RECT rc{}; | |
466 | 466 | if (lpstCursorData->bDrawIMEModeWait) { |
467 | 467 | if (lpstCursorData->dwWaitWaveTime != 0) Sleep(lpstCursorData->dwWaitWaveTime); |
468 | 468 | } |
@@ -538,7 +538,7 @@ BOOL CCursor::_bCalcDispModeRect(int iModeSizeX, int iModeSizeY, LPRECT lpRect) | ||
538 | 538 | // |
539 | 539 | HWND CCursor::_hGetCaretPosByAccessibleObjectFromWindow(HWND hForeWnd, LPRECT lpRect) |
540 | 540 | { |
541 | - HWND hWnd = NULL; | |
541 | + HWND hWnd = NULL; | |
542 | 542 | POINT pt{}; |
543 | 543 | DWORD dwPID = 0, dwForeThreadID = 0; |
544 | 544 | if (hForeWnd != NULL) { |
@@ -574,7 +574,7 @@ HWND CCursor::_hGetCaretPosByAccessibleObjectFromWindow(HWND hForeWnd, LPRECT l | ||
574 | 574 | pt.x = lpGuiThreadInfo->rcCaret.right; pt.y = lpGuiThreadInfo->rcCaret.bottom; |
575 | 575 | if (ClientToScreen(lpGuiThreadInfo->hwndCaret, &pt)) { |
576 | 576 | lpRect->right = pt.x; lpRect->bottom = pt.y; |
577 | - RECT rcFore{}, rcTop{}; | |
577 | + RECT rcFore{}, rcTop{}; | |
578 | 578 | if (GetWindowRect(lpGuiThreadInfo->hwndCaret, &rcTop)) { |
579 | 579 | #define MARGIN 2 |
580 | 580 | if (((pt.x == 0) && (pt.y == 0)) || (pt.x <= rcTop.left + MARGIN) || (pt.y <= rcTop.top + MARGIN) || (pt.x <= rcFore.left) || (pt.y <= rcFore.top)) { |
@@ -700,7 +700,7 @@ BOOL CCursor::bDrawIMEModeOnDisplaySub(LPIMECURSORDATA lpstCursorData) | ||
700 | 700 | } |
701 | 701 | |
702 | 702 | #define COUNT 10 |
703 | - BOOL bRet = FALSE; | |
703 | + BOOL bRet = FALSE; | |
704 | 704 | int iCount = 0; |
705 | 705 | if (lpstCursorData->dwDisplayModeTime != 0) iCount = (lpstCursorData->dwDisplayModeTime + (COUNT - 1)) / COUNT; |
706 | 706 | else iCount = COUNT; |
@@ -746,7 +746,7 @@ BOOL CCursor::bGetMouseRegValue(LPCTSTR szValue, LPTSTR szFile) | ||
746 | 746 | { |
747 | 747 | #define MOUSE_HKEY HKEY_CURRENT_USER |
748 | 748 | #define MOUSE_SUBKEY _T("Control Panel\\Cursors") |
749 | - BOOL bRet = FALSE; | |
749 | + BOOL bRet = FALSE; | |
750 | 750 | CRegistry *CReg = new CRegistry; |
751 | 751 | if (CReg->bReadRegValueString(MOUSE_HKEY, MOUSE_SUBKEY, szValue, szFile, _MAX_PATH)) { |
752 | 752 | bRet = TRUE; |
@@ -762,7 +762,7 @@ BOOL CCursor::bGetMouseRegValue(LPCTSTR szValue, LPTSTR szFile) | ||
762 | 762 | // |
763 | 763 | BOOL CCursor::bChangeFlushMouseCursor(UINT uCurID, LPIMECURSORDATA lpstCursorData) |
764 | 764 | { |
765 | - int i = 0; | |
765 | + int i = 0; | |
766 | 766 | while (uCurID != lpstCursorData->lpstFlushMouseCursor[i].dwIMEMode) { |
767 | 767 | ++i; |
768 | 768 | } |
@@ -782,7 +782,7 @@ BOOL CCursor::bChangeFlushMouseCursor(UINT uCurID, LPIMECURSORDATA lpstCursorDa | ||
782 | 782 | BOOL CCursor::bSetSystemCursor(LPMOUSECURSOR lpstMC, int iCursorSizeX, int iCursorSizeY) |
783 | 783 | { |
784 | 784 | HCURSOR hCur; |
785 | - UINT fuLoad = 0; | |
785 | + UINT fuLoad = 0; | |
786 | 786 | if (lpstMC->bReadReg) { |
787 | 787 | if (lpstMC->szFile[0] == '\0') return TRUE; |
788 | 788 | fuLoad = (LR_VGACOLOR | LR_DEFAULTSIZE | LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE); |
@@ -1021,7 +1021,7 @@ void CCursorWindow::Cls_OnPaint(HWND hWnd) | ||
1021 | 1021 | PAINTSTRUCT ps{}; |
1022 | 1022 | HDC hDC = BeginPaint(hWnd, &ps); |
1023 | 1023 | if (hDC != NULL) { |
1024 | - RECT rc{}; | |
1024 | + RECT rc{}; | |
1025 | 1025 | if (GetClientRect(hWnd, &rc)) { |
1026 | 1026 | HBRUSH hBrush = NULL; |
1027 | 1027 | if ((hBrush = CreateSolidBrush(dwBackColor & 0x00ffffff)) != NULL) { |
@@ -626,11 +626,23 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
626 | 626 | if ((hForeWnd = GetForegroundWindow()) == NULL) return; |
627 | 627 | DWORD dwBeforeIMEMode = Cime->dwIMEMode(hForeWnd, FALSE); |
628 | 628 | if (bForExplorerPatcherSWS(hForeWnd, TRUE, TRUE, &hNewHKL, &hPreviousHKL)) { |
629 | - if (dwBeforeIMEMode != IMEOFF) { | |
630 | - Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
629 | + if ((hPreviousHKL != JP_IME) && (hNewHKL == JP_IME)) { | |
630 | + if (dwBeforeIMEMode != IMEOFF) { | |
631 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
632 | + } | |
633 | + else { | |
634 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
635 | + Sleep(50); | |
636 | + Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
637 | + } | |
631 | 638 | } |
632 | 639 | else { |
633 | - Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
640 | + if (dwBeforeIMEMode != IMEOFF) { | |
641 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
642 | + } | |
643 | + else { | |
644 | + Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
645 | + } | |
634 | 646 | } |
635 | 647 | } |
636 | 648 | } |
@@ -679,9 +691,7 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
679 | 691 | PostMessage(hWnd, WM_SYSKEYDOWNUPEX, KEY_OEM_PA1, (0x80000000)); |
680 | 692 | } |
681 | 693 | } |
682 | - } | |
683 | - else { | |
684 | - if ((dwBeforeIMEMode != IMEOFF)) { | |
694 | + else { | |
685 | 695 | Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); |
686 | 696 | } |
687 | 697 | } |
@@ -698,6 +708,8 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
698 | 708 | if ((hForeWnd = GetForegroundWindow()) == NULL) return; |
699 | 709 | if (bForExplorerPatcherSWS(hForeWnd, TRUE, TRUE, &hNewHKL, &hPreviousHKL)) { |
700 | 710 | if ((hPreviousHKL != JP_IME) && (hNewHKL == JP_IME)) { |
711 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
712 | + Sleep(50); | |
701 | 713 | Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); |
702 | 714 | } |
703 | 715 | else { |
@@ -752,6 +764,8 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
752 | 764 | Cime->vIMEConvertModeChangeForced(hForeWnd, ZENKANA_IMEON); |
753 | 765 | } |
754 | 766 | else { |
767 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
768 | + Sleep(50); | |
755 | 769 | Cime->vIMEConvertModeChangeForced(hForeWnd, ZENKANA_IMEON); |
756 | 770 | } |
757 | 771 | } |
@@ -781,14 +795,21 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
781 | 795 | } |
782 | 796 | if (bEnableEPHelper || bIMEModeForced) { |
783 | 797 | if ((hForeWnd = GetForegroundWindow()) == NULL) return; |
798 | + HWND hWndHidemaru = FindWindow(_T("Hidemaru32Class"), NULL); | |
799 | + if ((hWndHidemaru != NULL) && (hForeWnd == hWndHidemaru)) { | |
800 | + break; | |
801 | + } | |
784 | 802 | DWORD dwBeforeIMEMode = Cime->dwIMEMode(hForeWnd, FALSE); |
785 | 803 | if (bForExplorerPatcherSWS(hForeWnd, TRUE, TRUE, &hNewHKL, &hPreviousHKL)) { |
786 | 804 | if ((hPreviousHKL != JP_IME) && (hNewHKL == JP_IME)) { |
787 | - if (dwBeforeIMEMode == IMEOFF) { | |
788 | - Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
805 | + if (dwBeforeIMEMode != IMEOFF) { | |
806 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
789 | 807 | } |
790 | 808 | else { |
791 | 809 | Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); |
810 | + Sleep(50); | |
811 | + Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
812 | + Sleep(50); | |
792 | 813 | } |
793 | 814 | } |
794 | 815 | else { |
@@ -797,6 +818,7 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
797 | 818 | } |
798 | 819 | else { |
799 | 820 | Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); |
821 | + Sleep(100); | |
800 | 822 | } |
801 | 823 | } |
802 | 824 | } |
@@ -808,14 +830,21 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
808 | 830 | } |
809 | 831 | if (bEnableEPHelper || bIMEModeForced) { |
810 | 832 | if ((hForeWnd = GetForegroundWindow()) == NULL) return; |
833 | + HWND hWndHidemaru = FindWindow(_T("Hidemaru32Class"), NULL); | |
834 | + if ((hWndHidemaru != NULL) && (hForeWnd == hWndHidemaru)) { | |
835 | + break; | |
836 | + } | |
811 | 837 | DWORD dwBeforeIMEMode = Cime->dwIMEMode(hForeWnd, FALSE); |
812 | 838 | if (bForExplorerPatcherSWS(hForeWnd, TRUE, TRUE, &hNewHKL, &hPreviousHKL)) { |
813 | 839 | if ((hPreviousHKL != JP_IME) && (hNewHKL == JP_IME)) { |
814 | - if (dwBeforeIMEMode == IMEOFF) { | |
815 | - Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
840 | + if (dwBeforeIMEMode != IMEOFF) { | |
841 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
816 | 842 | } |
817 | 843 | else { |
818 | 844 | Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); |
845 | + Sleep(50); | |
846 | + Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); | |
847 | + Sleep(50); | |
819 | 848 | } |
820 | 849 | } |
821 | 850 | else { |
@@ -824,9 +853,11 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
824 | 853 | } |
825 | 854 | else { |
826 | 855 | Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); |
856 | + Sleep(100); | |
827 | 857 | } |
828 | 858 | } |
829 | 859 | } |
860 | + Sleep(10); | |
830 | 861 | } |
831 | 862 | break; |
832 | 863 | case KEY_OEM_BACKTAB: // OEM Alt+カタカナ/ひらがな (0xf5) |
@@ -839,6 +870,8 @@ static void Cls_OnSysKeyDownUpEx(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UI | ||
839 | 870 | SetFocus(hForeWnd); |
840 | 871 | if (bForExplorerPatcherSWS(hForeWnd, TRUE, TRUE, &hNewHKL, &hPreviousHKL)) { |
841 | 872 | if ((hPreviousHKL != JP_IME) && (hNewHKL == JP_IME)) { |
873 | + Cime->vIMEOpenCloseForced(hForeWnd, IMECLOSE); | |
874 | + Sleep(50); | |
842 | 875 | Cime->vIMEOpenCloseForced(hForeWnd, IMEOPEN); |
843 | 876 | } |
844 | 877 | else { |
@@ -959,11 +992,13 @@ BOOL bForExplorerPatcherSWS(HWND hForeWnd, BOOL bChangeToIME, BOOL bIMEModeForc | ||
959 | 992 | if ((bChangeToIME && (hkl != JP_IME)) || (hkl == US_ENG) || bIMEModeForcedChange) { |
960 | 993 | hkl = JP_IME; |
961 | 994 | if (ActivateKeyboardLayout(hkl, (KLF_SETFORPROCESS | KLF_REORDER)) != 0) { |
962 | - if ((hkl = GetKeyboardLayout(dwThreadID)) != NULL) { // Re Check | |
995 | + if ((hkl = GetKeyboardLayout(dwThreadID)) != NULL) { | |
963 | 996 | if (hkl != JP_IME) { |
964 | 997 | if (bChangeHKLbySendInput(JP_IME, hkl)) { |
965 | 998 | hkl = JP_IME; |
966 | - bRet = TRUE; | |
999 | + if (ActivateKeyboardLayout(hkl, (KLF_SETFORPROCESS | KLF_REORDER)) != 0) { | |
1000 | + bRet = TRUE; | |
1001 | + } | |
967 | 1002 | } |
968 | 1003 | } |
969 | 1004 | else { |
@@ -972,6 +1007,11 @@ BOOL bForExplorerPatcherSWS(HWND hForeWnd, BOOL bChangeToIME, BOOL bIMEModeForc | ||
972 | 1007 | } |
973 | 1008 | } |
974 | 1009 | } |
1010 | + else { | |
1011 | + if (ActivateKeyboardLayout(hkl, (KLF_SETFORPROCESS | KLF_REORDER)) != 0) { | |
1012 | + bRet = TRUE; | |
1013 | + } | |
1014 | + } | |
975 | 1015 | } |
976 | 1016 | } |
977 | 1017 | } |
@@ -1034,7 +1074,7 @@ BOOL bChangeHKLbySendInput(HKL hNewHKL, HKL hPreviousHKL) | ||
1034 | 1074 | // |
1035 | 1075 | BOOL CALLBACK bEnumChildProcChangeHKL(HWND hWnd, LPARAM lParam) |
1036 | 1076 | { |
1037 | - HWND hIMWnd = NULL; | |
1077 | + HWND hIMWnd = NULL; | |
1038 | 1078 | if (ActivateKeyboardLayout((HKL)lParam, KLF_SETFORPROCESS) != 0) { |
1039 | 1079 | if ((hIMWnd = ImmGetDefaultIMEWnd(hWnd)) != NULL) { |
1040 | 1080 | SendMessage(hIMWnd, WM_INPUTLANGCHANGEREQUEST, (WPARAM)INPUTLANGCHANGE_SYSCHARSET, lParam); |
@@ -5,11 +5,11 @@ | ||
5 | 5 | |
6 | 6 | #### リリース情報 |
7 | 7 | |
8 | -* **2023/08/24 Version 1.1.7.24 をリリースしました** | |
8 | +* **2023/10/03 Version 1.1.8.4 をリリースしました** | |
9 | 9 | |
10 | 10 | * **(主な変更点)** |
11 | - * マウスクリックでIMEモードを表示しないことがあるバグを修正しました | |
12 | - * 漢字(半角 / 全角)キーを押したときの処理を見直しました | |
11 | + * EP HelperがONの時の無変換の処理のバグと、秀丸エディタを使用しているときの「漢字(半角/全角)」キーの処理を見直しました | |
12 | + * デスクトップのショートカットからの起動方法を変更しました | |
13 | 13 | * その他、軽微なバグを修正しました |
14 | 14 | |
15 | 15 | * 最近(2023/07以降)、[OSDN/FlushMouse](https://osdn.net/users/jeffyts/pf/FlushMouse/wiki/FrontPage) が、不安定なようですので、 [GitHub/FlushMouse](https://github.com/JeffyTS-JP/FlushMouse)の方をチェックしていただいたほうが良いかもしれません(どちらにも同じソースとバイナリを置くようにします) |
@@ -57,9 +57,7 @@ | ||
57 | 57 | #### 設定のヒント |
58 | 58 | * Windows 10 / 11ではマウスカーソルの形状や大きさを決める方法が複数あるため、下記の順番で設定することをお勧めします |
59 | 59 | 1. 設定→ディスプレイ→拡大縮小とレイアウトで、「ディスプレイの解像度」、「テキスト、アプリ、その他の項目のサイズ」、「表示スケールの詳細設定」を好みに設定します |
60 | - 2. 設定→デバイス→マウス→「マウスとカーソルのサイズを調整する」で好みに設定します | |
61 | - * この変更を行うとマウスカーソルが、Windows 10 / 11特有のものになります | |
62 | - * もし、Windows 7などの以前のマウスカーソルを使いたい場合は3の設定をします。必要なければ4に進んでください | |
60 | + 2. 設定→デバイス→マウス→「マウスとカーソルのサイズを調整する」で好みに設定します。ただし、この変更を行うとマウスカーソルが、Windows 10 / 11特有のものになります。もし、Windows 7などの以前のマウスカーソルを使いたい場合は3の設定をします。必要なければ4に進んでください | |
63 | 61 | 3. 設定→デバイス→マウス→「その他のマウスオプション」(これはコントロールパネルのマウスのプロパティと同じ設定画面です)の、ポインタータブで、好みのカーソル形状、大きさに設定します |
64 | 62 | 4. システムトレイ(タスクトレイ)のFlushMouseのアイコンをクリックして設定を選択し、「マウスカーソルのサイズ」を好みの大きさに設定します |
65 | 63 | * FlushMouseで設定するカーソルの大きさは、アプリケーション独自に表示するもの(例えばExcelの十字型のカーソルなど)には影響しませんので、1から3を繰り返して、それらが好みの大きさになるようにしてから、FlushMouseでコントロールするカーソルの大きさを合わせると使いやすくなると思います |
@@ -259,7 +259,7 @@ | ||
259 | 259 | <Component Id="DesktopShortcut" Guid="{2E074233-454E-41B4-918F-8C6A1FBAD304}"> |
260 | 260 | <Condition>WIXUI_VERIFYDIALOGOPTIONALCHECKBOX1 = 1</Condition> |
261 | 261 | <RegistryValue Root="HKCU" Key="$(var.AppRegKey)" Name="InstalledDesktopShortcut" Type="integer" Value="1" KeyPath="yes" /> |
262 | - <Shortcut Id="desktopShortcut" Name="$(var.ProductName)" Target="[INSTALLFOLDER]$(var.MainExeFileName)" WorkingDirectory="INSTALLFOLDER" /> | |
262 | + <Shortcut Id="desktopShortcut" Name="$(var.ProductName)" Target="[INSTALLFOLDER]$(var.MainExeFileName)" Arguments="/start" WorkingDirectory="INSTALLFOLDER" /> | |
263 | 263 | </Component> |
264 | 264 | </DirectoryRef> |
265 | 265 | <DirectoryRef Id="AppStartMenuDir"> |
@@ -9,11 +9,11 @@ | ||
9 | 9 | |
10 | 10 | #define MAJOR_VERSION 1 |
11 | 11 | #define MINOR_VERSION 1 |
12 | -#define BUILD_VERSION 7 | |
13 | -#define REVISION_VERSION 24 | |
12 | +#define BUILD_VERSION 8 | |
13 | +#define REVISION_VERSION 0 | |
14 | 14 | |
15 | -#define FILE_VERSION_STRING VALUE "FileVersion", "1.1.7.24" | |
16 | -#define PRODUCT_VERSION_STRING VALUE "ProductVersion", "1.1.7.24" | |
15 | +#define FILE_VERSION_STRING VALUE "FileVersion", "1.1.8.0" | |
16 | +#define PRODUCT_VERSION_STRING VALUE "ProductVersion", "1.1.8.0" | |
17 | 17 | |
18 | 18 | #define FILE_VERSION MAJOR_VERSION, MINOR_VERSION, BUILD_VERSION, REVISION_VERSION |
19 | 19 | #define PRODUCT_VERSION MAJOR_VERSION, MINOR_VERSION, BUILD_VERSION, REVISION_VERSION |
@@ -1,7 +1,7 @@ | ||
1 | 1 | <Include> |
2 | 2 | <!-- for wix Setup Project --> |
3 | 3 | <!-- Copyright (C) 2023 JeffyTS --> |
4 | - <?define Version = "1.1.7.24" ?> | |
4 | + <?define Version = "1.1.8.0" ?> | |
5 | 5 | |
6 | 6 | <?define ProductName = "FlushMouse" ?> |
7 | 7 | <?define Manufacturer = "JeffyTS" ?> |