如何使用Post / SendMessage(User32.dll)进行Alt + Space组合/事件

时间:2014-09-02 06:46:25

标签: c# sendmessage postmessage user32

我需要制作Post / SendMessage,它会使Alt + Space在Windows应用程序中打开我需要的一些标签。我不能使用SendKeys SendKeys.Send("% ") 我有仅使用Post / SendMessage。

这是我到目前为止所尝试的

 private const uint WM_KEYDOWN = 0x0100;
 private const uint WM_KEYUP = 0x0101;
 private const uint WM_SYSKEYDOWN = 0x0104;
 private const uint WM_SYSKEYUP = 0x0105;
 private const int VK_MENU = 0x12;
 private const int VK_SPACE = 0x20;

 PostMessage(Main, WM_SYSKEYDOWN, VK_MENU, 0);//
 PostMessage(Main, WM_KEYDOWN, VK_SPACE, 0);
 Thread.Sleep(1000);
 PostMessage(Main, WM_KEYUP, VK_SPACE, 0);
 PostMessage(Main, WM_SYSKEYUP, VK_MENU, 0);

现在我可以看到Alt被按下了,因为标签下划线(第一个字母)(它发生在99%winapp' s)但Alt + Space的组合没有发生,而我不知道为什么。

任何人都知道我做错了什么?

0 个答案:

没有答案