none
Windows7,VB.Net,Application,SendKeys.send(string)后窗体激活 RRS feed

  • 问题

  • 求助。

    现在在framework3.5 VB.Net win7环境下,form上的textbox控件的enter事件里如果为

    sendkeys.send("00000000000")

    用鼠标点击控件触发enter,sendkeys后,窗体会变为非激活状态(为什么?)

    如何解决?

    已尝试过Form.Activate,AppActivate,Focus和SetForeGroundWindow等类似API

    无效。谢谢

    2010年5月26日 6:59

答案

  • 你好!

            不客气啊!

          很可能是系统环境问题,你换其他机器测试看看!我用XP和Win7测试都是正常的啊!

          在你满意的回复上点“标记为答复”就结贴了啊!


    周雪峰
    • 已标记为答案 pring414 2010年5月27日 4:35
    2010年5月27日 4:12
    版主

全部回复

  • 你好!

         应该是其他代码影响的,我这里是正常的,鼠标点击,然后TextBox显示00000000000,事件处理程序如下:

            private void textBox1_Enter(object sender, EventArgs e)
            {
                SendKeys.Send("00000000000");
            }


    周雪峰
    2010年5月26日 10:58
    版主
  • 谢谢,您好!

    我做的是简单sample,就一个form,一个textbox和一个button(为了使fucus不在textbox上,没有代码)

    然后和您的代码一样。

    此现象在xp上没有,在win7上有,您是在win7上试的吗?

    2010年5月26日 12:00
  • 你好!

         我就是用Win7测试的!一切正常,鼠标点击,然后TextBox显示00000000000


    周雪峰
    2010年5月26日 14:34
    版主
  • 您好,再次叨扰。

    由于之前发现是sendkeys连续发送4个以上字符(string.length>3)出现的现象,所以曾经试过循环单字符发送字符串,每次发送后停0.1秒,窗体不会失活。想请问是否有可能与机器结合系统性能有关?一个线程的消息队列达到一定长度后,有没有可能引发什么特殊问题?非常感谢。

    2010年5月27日 3:33
  • 你好!

          如果你不是死循环不停的发送消息,那应该不会导致窗体没有响应的,你出现问题的代码能给我看看吗?


    周雪峰
    2010年5月27日 3:44
    版主
  • 你好!

         应该是其他代码影响的,我这里是正常的,鼠标点击,然后TextBox显示00000000000,事件处理程序如下:

            private void textBox1_Enter(object sender, EventArgs e)
            {
                SendKeys.Send("00000000000");
            }


    周雪峰

    有点无奈。。真的和您的代码是一样的。。

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter

          SendKeys.Send("00000000000")

    End Sub

    窗体没有变成无响应状态,只是未处于激活状态(但如果用代码检测却反应它是处于激活状态的,所以再用代码激活也是无效的。。妖怪。。),需要手动点击激活。如果您这边没有问题那也有可能是我机器上系统可能出了什么问题。。谢谢您了。。麻烦您结个贴吧,不晓得应该选啥m(_ _)m

    2010年5月27日 4:05
  • 你好!

            不客气啊!

          很可能是系统环境问题,你换其他机器测试看看!我用XP和Win7测试都是正常的啊!

          在你满意的回复上点“标记为答复”就结贴了啊!


    周雪峰
    • 已标记为答案 pring414 2010年5月27日 4:35
    2010年5月27日 4:12
    版主