imm32: Unregister IME class on process detach.
This commit is contained in:
parent
db07083e4c
commit
59c144f197
|
@ -110,6 +110,8 @@ static const WCHAR szImeFileW[] = {'I','m','e',' ','F','i','l','e',0};
|
||||||
static const WCHAR szLayoutTextW[] = {'L','a','y','o','u','t',' ','T','e','x','t',0};
|
static const WCHAR szLayoutTextW[] = {'L','a','y','o','u','t',' ','T','e','x','t',0};
|
||||||
static const WCHAR szImeRegFmt[] = {'S','y','s','t','e','m','\\','C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\','C','o','n','t','r','o','l','\\','K','e','y','b','o','a','r','d',' ','L','a','y','o','u','t','s','\\','%','0','8','l','x',0};
|
static const WCHAR szImeRegFmt[] = {'S','y','s','t','e','m','\\','C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\','C','o','n','t','r','o','l','\\','K','e','y','b','o','a','r','d',' ','L','a','y','o','u','t','s','\\','%','0','8','l','x',0};
|
||||||
|
|
||||||
|
static const WCHAR szwIME[] = {'I','M','E',0};
|
||||||
|
|
||||||
static LRESULT WINAPI DefIME_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,
|
static LRESULT WINAPI DefIME_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,
|
||||||
LPARAM lParam);
|
LPARAM lParam);
|
||||||
|
|
||||||
|
@ -378,7 +380,6 @@ static void IMM_RegisterMessages(void)
|
||||||
|
|
||||||
static void IMM_RegisterIMEClass(void)
|
static void IMM_RegisterIMEClass(void)
|
||||||
{
|
{
|
||||||
static const WCHAR szwIME[] = {'I','M','E',0};
|
|
||||||
WNDCLASSW wndClass;
|
WNDCLASSW wndClass;
|
||||||
|
|
||||||
ZeroMemory(&wndClass, sizeof(WNDCLASSW));
|
ZeroMemory(&wndClass, sizeof(WNDCLASSW));
|
||||||
|
@ -413,6 +414,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpReserved)
|
||||||
IMM_FreeThreadData();
|
IMM_FreeThreadData();
|
||||||
IMM_FreeAllImmHkl();
|
IMM_FreeAllImmHkl();
|
||||||
TlsFree(tlsIndex);
|
TlsFree(tlsIndex);
|
||||||
|
UnregisterClassW(szwIME, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1507,7 +1509,6 @@ BOOL WINAPI ImmGetConversionStatus(
|
||||||
*/
|
*/
|
||||||
HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
|
HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
|
||||||
{
|
{
|
||||||
static const WCHAR szwIME[] = {'I','M','E',0};
|
|
||||||
if (IMM_GetThreadData()->hwndDefault == NULL)
|
if (IMM_GetThreadData()->hwndDefault == NULL)
|
||||||
IMM_GetThreadData()->hwndDefault = CreateWindowExW( WS_EX_TOOLWINDOW,
|
IMM_GetThreadData()->hwndDefault = CreateWindowExW( WS_EX_TOOLWINDOW,
|
||||||
szwIME, NULL, WS_POPUP, 0, 0, 1, 1, 0, 0, 0, 0);
|
szwIME, NULL, WS_POPUP, 0, 0, 1, 1, 0, 0, 0, 0);
|
||||||
|
|
Loading…
Reference in New Issue