WIN8.1系统下DELPHI程序读取不到系统输入法

夏夜虫飞 2015-06-09 01:48:48
系统是WIN8.1 64位,用的是DELPHI2007,程序在WIN7环境下可以读取到输入法,但在WIN8.1下读取不到,代码很简单,如下,请各位大虾指教,可有方法解决此问题。
程序:

代码:
...全文
795 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Huang-wei-yu 2017-12-15
  • 打赏
  • 举报
回复
我也想知道解决办法,同样在win10系统下
lghost2010 2017-04-12
  • 打赏
  • 举报
回复
楼主,同问,我在win10也遇到了同样问题,后来你是怎么解决的????
shazaoyue 2016-08-25
  • 打赏
  • 举报
回复
楼主,同问,我在win10也遇到了同样问题,后来你是怎么解决的????
夏夜虫飞 2015-06-30
  • 打赏
  • 举报
回复
引用 4 楼 zzmjhy520 的回复:
win8的输入法是全局的,而系统自带的GetImes方法中是System开头的。 KbLayoutRegkeyFmt = 'System\CurrentControlSet\Control\Keyboard Layouts\%.8x
哥,你这个小弟看不太懂啊。。。
夏夜虫飞 2015-06-30
  • 打赏
  • 举报
回复
引用 3 楼 yourskai 的回复:
Delphi XE以上版本试试
公司开发不能用那个版本,装了很多控件,换版本有的控件装不上
zzmjhy520 2015-06-11
  • 打赏
  • 举报
回复
win8的输入法是全局的,而系统自带的GetImes方法中是System开头的。 KbLayoutRegkeyFmt = 'System\CurrentControlSet\Control\Keyboard Layouts\%.8x
  • 打赏
  • 举报
回复
Delphi XE以上版本试试
夏夜虫飞 2015-06-10
  • 打赏
  • 举报
回复
谢谢! 试过了,还是不行! 估计跟系统有关,不知道有没有人在WIN8系统下成功过!
lyhoo163 2015-06-09
  • 打赏
  • 举报
回复
procedure GetImeList(List: TStrings);
var i:integer;
begin
  for i:=0 to screen.imes.count-1 do
  begin
    if i=0 then
      ImeNameS:=screen.Imes.strings[i];
    List.Add(screen.Imes.strings[i]);   
  end;
end;

GetImeList(cbbImes.Items);

上述代码试试,如何。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧