Ejemplo n.º 1
0
        public static bool IsImeActive(IntPtr windowHandle)
        {
            bool isActive = false;

            try
            {
                IntPtr handle = Imm32.ImmGetContext(windowHandle);

                if (handle == IntPtr.Zero)
                {
                    return(false);
                }

                try
                {
                    isActive = Imm32.ImmGetOpenStatus(handle);
                }
                finally
                {
                    Imm32.ImmReleaseContext(windowHandle, handle);
                }

                return(isActive);
            }
            catch (Exception ex)
            {
                Trace.Fail("Failed to check if IME is active: " + ex);
                return(isActive);
            }
        }
 public static bool ImmGetOpenStatus(this HIMC hIMC) => Imm32.ImmGetOpenStatus(hIMC);