我用c#模拟键盘向某个窗口输入快捷键如“1”,但窗口没反应,好象给屏了如果窗口为记事本,在记事本是可以打印出“1”的请问怎样解决?

解决方案 »

  1.   

    你想做个快捷键.最好用上alt+什么 或者shift加什么的.
      那样 最好分析. 而且. 即使获得焦点也不怕..
        在keydown实践中写..
       c#中有判断是否按下Shift键的方法..
        e.Shift();   alt 你可以直接 在你想要的地方加短路符号&
       比如说: button1.Text=确认(&O)
        当你按alt+o的时候就碰到了这个按钮..
      
       我做快捷建的时候就这么做..下面有个手写的代码.
       你在改改就行了..
       
        private void MainForm_onKeyDown(sender,e)
        {
          if(!e.Shift)
             return;
          switch(e.keyData){
             case 13: //13代表回车键盘ascii码.
                 //这里写快捷对应响应事件.比如弹新窗口等等..
                 break;
          }
        }
          上面那段代码 . 当你按Shift+回车的时候就会执行对应的操作了.
      

  2.   

    我用c#模拟键盘向某个窗口输入快捷键如“1”,注:“某个窗口”是一个游戏窗口来的(这个游戏窗口不是用c#做的,如果wow的游戏窗口)
      

  3.   

    注:“某个窗口”是一个游戏窗口来的(这个游戏窗口不是用c#做的,如wow的游戏窗口)
      

  4.   

    呵呵,做外挂吧..现在的游戏程序把所有的windows的这方面消息都过滤了。
    所以你这样是没用滴~~比较好的方法是通过控制键盘芯片来模拟(芯片名字忘了).但是有的游戏执行时把硬件访问也封锁了.所以你又要想办法让你的程序有系统ring0的权限..所以越说越底层,比较好的办法是直接做硬件驱动.