在程序中怎样改变输入法和键盘布局?

whiterabbit 2000-02-23 11:30:00
想在程序中改变输入法和键盘布局,启动制定的输入法和键盘布局,有什么办法吗?
...全文
175 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
teeegg 2000-02-24
  • 打赏
  • 举报
回复
键盘布局可以参照上面修改
teeegg 2000-02-24
  • 打赏
  • 举报
回复
改变输入法:
procedure TForm1.SetmyIme(ImeName:string);
var
I: Integer;
HandleToSet: HKL;
begin
if not SysLocale.FarEast then Exit;
if ImeName <> '' then
begin
if (AnsiCompareText(ImeName, Screen.DefaultIme) <> 0)
and (Screen.Imes.Count <> 0) then
begin
HandleToSet := Screen.DefaultKbLayout;
I := Screen.Imes.IndexOf(ImeName);
if I >= 0 then
HandleToSet := HKL(Screen.Imes.Objects[I]);
ActivateKeyboardLayout(HandleToSet, KLF_ACTIVATE);
end;
end;
end;

procedure TForm1.ResetmyIme(ImeName:string);
begin
if not SysLocale.FarEast then Exit;
if ImeName <> '' then
begin
if AnsiCompareText(ImeName, Screen.DefaultIme) <> 0 then
ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE);
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
SetmyIme('微软拼音输入法');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ResetmyIme('微软拼音输入法');
end;
929 2000-02-24
  • 打赏
  • 举报
回复
BOOL SystemParametersInfo(

UINT uiAction, // system parameter to query or set
UINT uiParam, // depends on action to be taken
PVOID pvParam, // depends on action to be taken
UINT fWinIni // user profile update flag
);
用上面函数加SPI_SETDEFAULTINPUTLANG的ACTION参数可改变当前键盘布局。
改变输入法我想应该用INPUT METHOD FUNCTION,这在DELPHI中预定义的属性,在VC中好象没有,看看以IMM开头的函数吧。
DragonCheng 2000-02-24
  • 打赏
  • 举报
回复
可以利用WIN API函数:SendInput()模拟键盘输入取得相应效果
http://www.mympc.org 输入法设置工具 IME TOOL 2.6.5 声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。 IME TOOL 支持英文界面,适用于 Win98/ME/2000/XP/2003 操作系统。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、任意设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功 能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件到系统目录,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status: : 关闭输入法状态条 : 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch: : 不使用切换语言和切换键盘布局热键 : 仅使用切换语言热键 : 仅使用切换键盘布局热键 : 同时使用切换语言和切换键盘布局热键 : 切换语言热键使用Ctrl+Shift : 切换键盘布局热键使用Ctrl+Shift /hotkey:,[hotkey] 指定输入法热键 ,指定第1、2、3.. 个输入法的热键 指定打开/关闭输入法的热键 指定全角/半角切换的热键 指定英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:,[hotkey] 按名称添加输入法到列表 /add2:,[hotkey] 按文件名添加输入法到列表 /add3:,[hotkey] 按 ID 添加输入法到列表 /del1: 按顺序从列表删除输入法 /del2: 按名称从列表删除输入法 /del3: 按文件名从列表删除输入法 /del4: 按 ID 从列表删除输入法 /install:[name],,[hotkey] 安装输入法 /uninstall1: 按名称从注册表删除输入法 /uninstal
一. 安装方法 1.解压BaiduInput_blackberry_v1.0.0.7.zip文件,用黑莓桌面管理器加载baiduinput.alx,在安装时务必把默认的四个选项都打上勾。 2.安装完毕后会在出现一个百度记事本和一个百度输入法图标。 3.百度记事本是用在第三方程序的,请在系统设置里把右侧或左侧快捷键设到这个程序,以便于在第三方程序调用输入法. 4.百度输入法输入法的各项设置,包括双拼、模糊音、键盘支持、词库管理等。 二.使用方法 1.在系统内置程序 (1)打开当前程序的输入界面,点击菜单键,在出现的菜单选择“百度输入法” (一般在顶部)。 (2)按心键(应用程序快捷键)切换英文状态。 (2)按返回键(escap)可以退出程序。 2.在第三方程序 (1)进入选项->屏幕/键盘设置任一快捷键到百度记事本(BaiduNotepad)。 (2)在需要输入处按下上一步设置好的快捷键。 (3)输入完文后退出,在需要的地方粘贴即可。 三.目前的版本支持以下功能: 1. 支持智能拼音及双拼输入,输入,始终高效; 2. 利用人体工学原理,特有针对黑莓键盘的五格快捷选字模式; 3. 支持自造用户词和删除,打造个人专属词库; 4. 支持词库备份到手机和网络,换手机也不丢词; 5. 把名片夹导入成用户词,免去拼写联系人的麻烦; 6. 兼容美式、德士、法式键盘布局,不再为键盘太特殊而头疼; 7. 还能更新百度流行词,掌握网络脉动! 注意:关于4,需要说明下 (1) 目前只支持英文和数字帐号,不支持文帐号登录,这个问题将在下个版本解决; (2) 有的机型y和z换位了,有的机型a和z换位了,密码输入错误的时候请尝试对调一下; (3) 目前发现cmwap接入点登录可能有点问题,请用cmnet或wifi接入 详细设置: http://hi.baidu.com/glaivelee/blog/item/5b69f4ef0a1b123bacafd580.html
声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。 IME TOOL 支持英文界面,适用于 Win98/ME/2000/XP/2003 操作系统,部分兼容 Windows 7。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、任意设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件到系统目录,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /on 启用 internat.exe 或 ctfmon.exe /off 禁用 internat.exe 或 ctfmon.exe /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status: : 关闭输入法状态条,: 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch: : 不使用切换语言和切换键盘布局热键 : 仅使用切换语言热键 : 仅使用切换键盘布局热键 : 同时使用切换语言和切换键盘布局热键 : 切换语言热键使用Ctrl+Shift : 切换键盘布局热键使用Ctrl+Shift /hotkey:,[hotkey] 指定输入法热键 ,指定第1、2、3.. 个输入法的热键 指定打开/关闭输入法的热键 指定全角/半角切换的热键 指定英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:,[hotkey] 按名称添加输入法到列表 /add2:,[hotkey] 按文件名添加输入法到列表 /add3:,[hotkey] 按 ID 添加输入法到列表 /del1: 按顺序从列表删除输入法 /del2: 按名称从列表删除输入法 /del3:

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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