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 解决窗口切换输入法变全角的问题 
  • 相关阅读:
    51nod1432 独木舟
    51nod1126 求递推序列的第N项
    Alice, Bob, Oranges and Apples CodeForces
    区间dp
    平面几何基础
    图的割点、桥与双连通分支
    hihocoder 1305 区间求差
    hdu 2444 The Accomodation of Students 【二分图匹配】
    状压dp
    hdu 1525 Euclid's Game【 博弈论】
  • 原文地址:https://www.cnblogs.com/linmilove/p/1718789.html
Copyright © 2011-2022 走看看