如何设置输入法的快捷键

ngzhan99 2013-11-20 09:23:05
最近用微软IMM32框架开发了一款输入法,然后想写一个输入法管理器,其中有个功能是设置我的输入法的快捷键(键入快捷键可以直接启动输入法而不必CTRL+SHIFT一个个的切换)。网上查了资料,只是找到在HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys写入。但是这个方法设置之后要重启才有效。目前不知道是不是有相应的API函数可以做到。
希望能得到大家的帮忙,在此先行谢过!
...全文
146 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ngzhan99 2013-11-20
  • 打赏
  • 举报
回复
引用 2 楼 bjtbjt 的回复:
这个你必须要对操作系统和系统服务程序有所了解才行。 其实按shift+ctrl启动了搜狗拼音是因为操作系统有管理输入法的 服务程序在操作系统启动的时候就运行着了,当我们按快捷键的时候, 操作系统就负责输入法的切换,启动了搜狗拼音。 这样的程序是操作系统服务类型程序,就是在系统后台运行着的。 这需要你学习了windows服务程序的编写才能完成的。
按我自己写注册表的方法设置我自己输入法的快捷键要重启电脑才有效,估计也是要重启系统的某个服务。这方面应该有现成的API,因为我用搜狗输入法管理器设置搜狗输入法的热键是直接有效的
ngzhan99 2013-11-20
  • 打赏
  • 举报
回复
引用 1 楼 VisualEleven 的回复:
广播WM_SETTINGCHANGE消息试试 PostMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)TEXT("Environment"));
谢谢1楼, 不过这句没起作用。
5t4rk 2013-11-20
  • 打赏
  • 举报
回复
这个你必须要对操作系统和系统服务程序有所了解才行。 其实按shift+ctrl启动了搜狗拼音是因为操作系统有管理输入法的 服务程序在操作系统启动的时候就运行着了,当我们按快捷键的时候, 操作系统就负责输入法的切换,启动了搜狗拼音。 这样的程序是操作系统服务类型程序,就是在系统后台运行着的。 这需要你学习了windows服务程序的编写才能完成的。
Eleven 2013-11-20
  • 打赏
  • 举报
回复
广播WM_SETTINGCHANGE消息试试 PostMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)TEXT("Environment"));

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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