软键盘弹出时,怎样能不获得焦点?

zmok8866 2017-03-18 11:35:01
我做了一个软键盘的EXE程序,其他的EXE窗体程序直接调用 System.Diagnostics.Process.Start("KeyboardEx.exe") 来启动软键盘程序。

目前可实现输入功能,但是有一个BUG:

软键盘的EXE在启动时,会自动获得焦点,导致后面的textbox或记事本失去焦点,用户还需要再次点击后面的窗体才能输入。

我试验了用textbox.focus(),但是不行。

问:
在软键盘弹出时,怎样让焦点停留在后面的窗体程序中?

我想做的是像搜狗输入法的那种软键盘,弹出时完全不影响后面的程序。

如果有其他建议,或者有已经做好的软键盘也可以,谢谢各位大神。

...全文
334 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmok8866 2017-03-20
  • 打赏
  • 举报
回复
2楼解决了我的问题,我再试试3楼的方法
zz1973zzzz 2017-03-18
  • 打赏
  • 举报
回复
有谁知道,同求!!!
xuggzu 2017-03-18
  • 打赏
  • 举报
回复
textbox.focus指的是本进程内焦点设置,2个进程当然不好使了。所以首先要让自己的进程先激活,那个函数才有用。
但楼主的要求是软键盘进程不失活,敲东东也能进指定进程内txtbox。我没看楼上给的方法帖子连接,但还有其它方法,比如:start启动软键盘时,传个txtbox窗口句柄过去,然后软键盘程序里用模拟键盘发送按键。
Forty2 2017-03-18
  • 打赏
  • 举报
回复
见下贴,3楼: (C# 实现点击自己的窗体不失去其他窗体的焦点) http://bbs.csdn.net/topics/391849396

111,112

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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