问题描述:
.net环境下,运行程序,第一切换到中文输入法时,中文输入功能灰掉(智能ABC)或者红叉叉(微软拼音),必须通过键盘Ctrl+Space 切换一下,后续才恢复正常。
解决方案:
既然是必须再切一次Ctrl+Space才能解决,那么为何不再软件内先行切一下,于是就在登录窗口内的TextBox获取焦点时,通过模拟键盘类SendKey,模拟发送两次Ctrl+Space,这个问题就解决了。
实现细节:
SendKey.Send(“^ ”);
关于如何实现空格模拟,通过MSDN获取的帮助是{BREAK},验证后,不对,然后上网查找,结论是,乱弹琴!自己动手测了一下
SendKey.Send(“^”+Convert.ToChar(32).ToString()),通过了,然后直接将转换操作用空格代替,也OK。
生活TMD需要激情,做事需冷静,说话需冷静!
遇事记着:办法总比困难多,困难和问题说不定就是机遇和转折!
历史证明:哪个环节没照顾到,哪个环节就会出问题!能自己来,就不要让别人来。