如何在Win 8中以编程方式在C#中按Alt + Tab

Moh*_*sen 6 c# keyboard wpf

我在win8的VS 2013中使用此代码来模拟按Alt + Tab,但是什么也没有发生。我在Win 7和VS 2012中对其进行了测试,效果很好。

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

private const byte VK_MENU = 0x12;
private const byte VK_TAB = 0x09;
private const int KEYEVENTF_EXTENDEDKEY = 0x01;
private const int KEYEVENTF_KEYUP = 0x02;

keybd_event(VK_MENU, 0xb8, 0, 0); //Alt Press 
keybd_event(VK_TAB, 0x8f, 0, 0); // Tab Press 
System.Threading.Thread.Sleep(70);
keybd_event(VK_TAB, 0x8f, KEYEVENTF_KEYUP, 0); // Tab Release 
keybd_event(VK_MENU, 0xb8, KEYEVENTF_KEYUP, 0); // Alt Releas
Run Code Online (Sandbox Code Playgroud)

如何在Win8中解决此问题?谢谢

小智 2

可能现在回答已经太晚了,但回答的问题可能会在将来帮助其他人。尝试使用 SendKeys 发送组合键,它可能适合您。

SendKeys.Send("%+{TAB}");
Run Code Online (Sandbox Code Playgroud)