| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 110 人关注过本帖
标题:输入法的调用或切换?
只看楼主 收藏
su0527
Rank: 2
等 级:论坛游民
帖 子:259
专家分:45
注 册:2015-1-10
结帖率:94.74%
  已结贴   问题点数:20  回复次数:3   
输入法的调用或切换?
在文本框单击事件中写什么样的代码,实现将当前中文输入法切换成英文输入法?因为该文本框只需要输入英文字母.
2018-04-07 14:04
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:135
帖 子:5648
专家分:24310
注 册:2014-5-20
  得分:20 
VFP的IMESTATUS()适用XP,之后的windows版本可能不适用。
可以试试用WinAPI切换输入法,如:
DECLARE LONG GetKeyboardLayout IN User32 LONG
DECLARE LONG LoadKeyboardLayout IN User32 STRING@, LONG
DECLARE LONG ActivateKeyboardLayout IN User32 LONG,LONG
hLayout = GetKeyboardLayout(0)
?"切换为En输入法"
LoadKeyboardLayout("0x0409", 1) && KLF_ACTIVATE
?"按一键恢复原输入法"
INKEY(0)
ActivateKeyboardLayout(hLayout, 0)

2018-04-07 17:11
su0527
Rank: 2
等 级:论坛游民
帖 子:259
专家分:45
注 册:2015-1-10
  得分:0 
回复 2楼 吹水佬
程序一执行就死机!
而且想做到,点击文本框时,自动换成英文输入法才好用的。
2018-04-07 17:31
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:135
帖 子:5648
专家分:24310
注 册:2014-5-20
  得分:0 
回复 3楼 su0527
windows的API调用应该不会死机。
可以在其他机上试试,看是否系统的问题,如果API被第三方HOOK了就不好说。
2018-04-07 20:28







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058000 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved