取系统当前输入法名称。

johnsonrao 2002-07-18 01:17:25
要取得“XXX 输入法”,不是 XXX.ime
请大家帮个忙。
...全文
109 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnsonrao 2002-07-18
  • 打赏
  • 举报
回复
自己解决了,一人10分正好。
floattofool 2002-07-18
  • 打赏
  • 举报
回复
帮你提一提
johnsonrao 2002-07-18
  • 打赏
  • 举报
回复
操作是随机的,只要能得到中文名称就什么都解决了,得不到的话存也没法存,每个用户的习惯都不同,指不定他什么时候又改输入法了。
sean2000 2002-07-18
  • 打赏
  • 举报
回复
你可以存到配置文件中,进去时读取。
johnsonrao 2002-07-18
  • 打赏
  • 举报
回复
记忆输入框中最后一次使用的输入法,有可能是任意一个安装了的输入法。
但是要中文名称。
neilwq 2002-07-18
  • 打赏
  • 举报
回复
这是取得系统中已安装的输入法,
不明白你到底要什么?是不是要默认的输入法名称?
用这个edit1.text:=screen.defaultime
johnsonrao 2002-07-18
  • 打赏
  • 举报
回复
neilwq(啄木鸟) 不一定是当前系统输入法
neilwq 2002-07-18
  • 打赏
  • 举报
回复
combobox1.Items.CommaText:=screen.Imes.CommaText;
johnsonrao 2002-07-18
  • 打赏
  • 举报
回复
sean2000(地宽天高)
返回的结果是 xxx.ime 不对
johnsonrao 2002-07-18
  • 打赏
  • 举报
回复
sean2000(地宽天高)
返回的结果是 xxx.ime 不对
Billy_Chen28 2002-07-18
  • 打赏
  • 举报
回复
获得输入法的名称:
function GetImeFileName: string;
var
szImeFileName: array[0..MAX_PATH] of char;
begin
if ImmGetIMEFileName(GetKeyboardLayout(0), szImeFileName, MAX_PATH) <> 0 then
Result := AnsiUpperCase(StrPas(szImeFileName))
else
Result := '';
end;
调用控制面板中输入法设置:
WinExec('rundll32.exe shell32,Control_RunDLL main.cpl @4', SW_SHOWNORMAL);

sean2000 2002-07-18
  • 打赏
  • 举报
回复
Uses Imm;
获得当前输入法的名称:
function GetImeFileName: string;
var
szImeFileName: array[0..MAX_PATH] of char;
begin
if ImmGetIMEFileName(GetKeyboardLayout(0), szImeFileName, MAX_PATH) <> 0 then
Result := AnsiUpperCase(StrPas(szImeFileName))
else
Result := '';
end;

5,927

社区成员

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

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