游戏窗口屏蔽了回车,除了SendKeys.Send("{ENTER}"),还有其他办法吗?SendKeys.Send("{ENTER}")、SendKeys.Send("~")都试过了不行,寻找解决办法:)Autoit 3下的Send("{Enter}")倒是可以的,想必C#下定能实现,急切盼望高手解答,送20分!

解决方案 »

  1.   

    触发键盘事件,根据回车的ascii作
      

  2.   

    要把代码写在keypress事件中把窗体属性keypreview设置为true
      

  3.   

    keybd_event 可以实现了,但是为什么只发送一次?SendKeys.Send(textBox1.Text); //假设textBox1.Text为‘A’
    Win32api.keybd_event(13, 0, 0,UIntPtr.Zero);
    System.Threading.Thread.Sleep(500);SendKeys.Send(textBox2.Text); //假设textBox1.Text为‘B’
    Win32api.keybd_event(13, 0, 0, UIntPtr.Zero);
    System.Threading.Thread.Sleep(500);SendKeys.Send(textBox3.Text); //假设textBox1.Text为‘C’
    Win32api.keybd_event(13, 0, 0, UIntPtr.Zero);
    System.Threading.Thread.Sleep(500);输出为ABC我想输出:
    A
    B
    C是不是调用keybd_event时,参数不对呢?
      

  4.   

    是不是因为你只发送按下回车的消息,没有发送回车放开的消息啊晕....Win32api.keybd_event(13,   0,   0,   UIntPtr.Zero); 
    Win32api.keybd_event(13,   0,   KEYEVENTF_KEYUP,   UIntPtr.Zero); 
      

  5.   

    另外你说是游戏???游戏一些采用DirectInput技术 Keybd_Event是不行的, 需要驱动级别下的IO口的键盘模拟
      

  6.   

    Win32api.keybd_event(13,       0,       KEYEVENTF_KEYUP,       UIntPtr.Zero);   
    等同于
    Win32api.keybd_event(13,       0,       2,       UIntPtr.Zero);   
    吗??
      

  7.   

    在线继续等SendKeys.Send(textBox1.Text);   //假设textBox1.Text为‘AAA’ 
    Win32api.keybd_event(13,   0,   0,UIntPtr.Zero); 
    Win32api.keybd_event(13,   0,   2,UIntPtr.Zero); 
    SendKeys.Send(textBox2.Text);   //假设textBox2.Text为‘BBB’ 
    Win32api.keybd_event(13,   0,   0,   UIntPtr.Zero);
    Win32api.keybd_event(13,   0,   2,UIntPtr.Zero);  仍然输出:
    AAABBB如何变成:
    AAA
    BBB
    呢?请高手帮帮忙,多谢!!!!!!