none
SendKeys速度特别慢 RRS feed

  • 问题

  • 由于API函数不能有效地进行输入法的开关,我就使用了
    SendKeys.Send("^ ")
    来处理输入法的开关,但是发现在第一次调用SendKeys.Send方法时特别慢,系统就像死机了一样。
    后来多次调用就不再有问题了,请哪位高手帮忙解答,有什么办法能解决此问题。
    或者有什么方法能有效地进行输入法的开关,谢谢。
    业精于勤,荒于嬉,行成于思,毁于随。
    2009年11月17日 10:09

答案

  • 你好!

    可以尝试在你的程序一启动时就调用一次 SendKeys,到真正使用的时候自然就快了。

    知识改变命运,奋斗成就人生!
    2009年11月18日 2:42
    版主

全部回复

  • 你好!
         这个方法不会很慢的,后台就是通过键盘消息来实现的,建议你检查一下是否有其他原因!
         我用如下代码做了测试,第一次切换输入法也很快啊:
            private void button1_Click(object sender, EventArgs e)
            {
                this.textBox1.Focus();
                SendKeys.Send("^ ");
            }
    周雪峰
    2009年11月17日 12:21
    版主
  • 但是我用真实的键盘操作却很快,没有延迟,只是用SendKeys.Send很慢(就是第一次慢,后面就快了)
    业精于勤,荒于嬉,行成于思,毁于随。
    2009年11月18日 1:39
  • 你好!

    可以尝试在你的程序一启动时就调用一次 SendKeys,到真正使用的时候自然就快了。

    知识改变命运,奋斗成就人生!
    2009年11月18日 2:42
    版主