解决方案 »

  1.   

    http://blog.csdn.net/wesleyluo/article/details/3367598http://www.cnblogs.com/190196539/archive/2011/02/11/1951707.html
      

  2.   

    SendKeys.Send(”参数“)方法在System.Windows.Forms命名空间下。
      

  3.   

    http://bbs.csdn.net/topics/360079600
      

  4.   

    本身应该是有效的,不过你要发给另一个程序,先得让那个程序获得焦点,否则只有当前窗口收到f11你可以用SetForegroundWindow先切换窗口。
      

  5.   


    用api试试
    [DllImport("user32.dll", EntryPoint = "SendMessage")]
            public static extern int SendMessage(
                int hwnd,
                int wMsg,
                IntPtr wParam,
                IntPtr lParam
            );
            [DllImport("user32.dll", EntryPoint = "FindWindow")]
            public static extern int FindWindow(
                string lpClassName,
                string lpWindowName
            );
      

  6.   

    不是模拟键盘按键按下,是我鼠标点击了窗体上的一个Button按钮后模拟功能键按下功能。
      

  7.   

    参考下我这里面2楼的代码:http://bbs.csdn.net/topics/390640451
      

  8.   

    ProcessCmdKey这个方法不是获取按键的吗?我点击的是窗体上的某个特定的按钮后模拟键盘上F11直接按下了。
      

  9.   

    sendkey是给某个程序的窗口发消息,并不是真正的模拟键盘输入
    很明显你的F11是个全局快捷键,是系统收到消息后再通知对应的程序
    而sendkey跨过系统,将键盘消息直接发给了窗口,而你的窗口中却没有对键盘进行处理要么你的窗口在收到F11后执行Process.Start打开对应程序
    要么调用键盘API真实模拟键盘按下