日期:2014-05-17  浏览次数:20941 次

C# 模拟键盘问题,求解!
本帖最后由 infantesam 于 2013-01-06 14:09:37 编辑
说明:想要的效果,【Ctrl+Alt+方向键向左】达到转屏幕。
     直接按键盘【Ctrl+Alt+方向键向左】是有用的可以实现转动屏幕,但是用代码模拟键盘就不行。

     请高手指教如何解决?

 
const byte VK_Ctrl = 0x0017;  //ctrl 的asc
const byte VK_Alt = 0x0018;   //alt 的asc
const UInt32 VK_UPARROW = 0x0038; //方向键想左

[DllImport("user32.dll", EntryPoint = "keybd_event")]
 private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);

   public void RotateScreen()
    {

       keybd_event(VK_Ctrl, 0, KEYEVENTF_KEYUP, 0);
       keybd_event(VK_Alt, 0, KEYEVENTF_KEYUP, 0);
       keybd_event(0x38, 0, KEYEVENTF_KEYUP, 0);

      //这段代码已经执行过了,     但是就是没转屏幕的效果。

      MessageBox.Show("555");
    }
c#

------解决方案--------------------
keydown呢?
------解决方案--------------------
光有KEYEVENTF_KEYUP怎么没有KEYEVENTF_KEYDown?