Alt +键无法使用PostMessage(use32.dll)

时间:2014-09-04 07:14:51

标签: c# postmessage user32

我读了这个答案Link

这正是我要做的事情,我需要发送邮寄消息Alt +' E'要winApp但它不工作我使用Spy ++并复制Wparametr和Lparametr并使用postmessage构建它。 我做了同样的事情,但我无法获得Alt + E动作。

任何人都知道我的错误在哪里? 如何获取Alt + E事件/动作窗体应用程序?

这里是Spy ++我按下的前5行,第二行是我的代码。(参见Lparametrs中的diffrance和extend和AltDown)

在Img中你可以看到我的代码发送了不同的Lparam。

enter image description here

这是我的代码

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;

[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern int PostMessage(int hWnd, UInt32 msg, int wParam, int lParam);
//Here i take all Lparametrs from Spy++
PostMessage(Main, WM_SYSKEYDOWN, VK_MENU, 20380001);
PostMessage(Main, WM_SYSKEYDOWN, 0x45, 20120001);
Thread.Sleep(1000);
PostMessage(Main, WM_SYSKEYUP, 0x45, 0xE0120001);
PostMessage(Main, WM_KEYUP, VK_MENU, 0xC0380001);

0 个答案:

没有答案