为了不让输入法烦人,所以修改了Control.Pas 里面设置输入法的代码。
然后在CMD 下 用DCC32 编译成 Control.dcu 接着把它放到 Lib和Lib/Debug下,替换原有的DCU全编译我的程序  运行时还是出现输入法自动切换的问题procedure SetImeName(Name: TImeName);
    if I >= 0 then HandleToSet := HKL(Screen.Imes.Objects[I]);
    //ActivateKeyboardLayout(HandleToSet, KLF_ACTIVATE);procedure TWinControl.SetIme;
  // ActivateKeyboardLayout(HandleToSet, KLF_ACTIVATE);procedure TWinControl.ResetIme;以上这三个过程都把ActivateKeyboardLayout注解掉了
下面这个过程会调用默认屏幕输入法,
constructor TWinControl.Create(AOwner: TComponent)
  if SysLocale.PriLangID = LANG_JAPANESE then
    FImeName := ''  //如果是日本人用就不调用屏幕输入法,哈哈!!美国佬
  else
    FImeName := '';//Screen.DefaultIme;