zoukankan      html  css  js  c++  java
  • C#切换输入法代码段

    string languageName="五笔";//查找第一个五笔输入法 
    foreach(InputLanguage l in InputLanguage.InstalledInputLanguages) 

    if(l.LayoutName.IndexOf(languageName)>=0

    InputLanguage.CurrentInputLanguage
    =l; 
    break

    }
    using System.Runtime.InteropServices;

    #region 解决窗口切换输入法变全角的问题

            
    //声明一些API函数
            [DllImport("imm32.dll")]
            
    internal static extern IntPtr ImmGetContext(IntPtr hwnd);
            [DllImport(
    "imm32.dll")]
            
    internal static extern bool ImmGetOpenStatus(IntPtr himc);
            [DllImport(
    "imm32.dll")]
            
    internal static extern bool ImmSetOpenStatus(IntPtr himc, bool b);
            [DllImport(
    "imm32.dll")]
            
    internal static extern bool ImmGetConversionStatus(IntPtr himc, ref int lpdw, ref int lpdw2);
            [DllImport(
    "imm32.dll")]
            
    internal static extern int ImmSimulateHotKey(IntPtr hwnd, int lngHotkey);
            
    private const int IME_CMODE_FULLSHAPE = 0x8;
            
    private const int IME_CHOTKEY_SHAPE_TOGGLE = 0x11;
            
    //重载Form的OnActivated

            
    protected override void OnActivated(EventArgs e)
            {
                
    base.OnActivated(e);
                IntPtr HIme 
    = ImmGetContext(this.Handle);
                
    if (ImmGetOpenStatus(HIme))  //如果输入法处于打开状态
                {
                    
    int iMode = 0;
                    
    int iSentence = 0;
                    
    bool bSuccess = ImmGetConversionStatus(HIme, ref iMode, ref iSentence);  //检索输入法信息
                    if (bSuccess)
                    {
                        
    if ((iMode & IME_CMODE_FULLSHAPE) > 0)   //如果是全角
                            ImmSimulateHotKey(this.Handle, IME_CHOTKEY_SHAPE_TOGGLE);  //转换成半角
                    }
                }
            }
    #endregion 解决窗口切换输入法变全角的问题 
  • 相关阅读:
    IO流
    异常,File,递归,IO流
    Collection接口 map
    使用canvas画出的时钟
    js对象2
    js对象
    js 猜数游戏、斗地主发牌、伪数字
    js函数2
    js函数
    js矩形,数组,杨辉三角
  • 原文地址:https://www.cnblogs.com/linmilove/p/1718789.html
Copyright © 2011-2022 走看看