我正在编写一个应用程序来控制 Windows 7,尤其是 Windows Media Center。我可以发送击键、执行命令等,但我想模拟 Media Center Remote 上的一些按钮。
其中一些是 WM_INPUT 消息,如下所述:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb417079.aspx
我想以这样一种方式发送这些消息,因为它们可以被任何捕获 MCE 远程消息的应用程序接收,以便该应用程序可以更广泛地使用,因此不希望将消息发送到特定窗口。
我知道其中一些命令可以使用键盘快捷键复制,但这些命令在其他应用程序中无效。
有谁知道我如何从 C# 应用程序发送这些消息?
到目前为止,这是我整理的内容:
[DllImport("user32.dll")]
public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
const int WM_INPUT = 0x00FF;
const int HWND_BROADCAST = 0xffff;
const int COMMAND = 0;
PostMessage((IntPtr)HWND_BROADCAST, WM_INPUT, IntPtr.Zero, (IntPtr)COMMAND);
但我不知道如何构建消息本身,甚至不知道这种方法是否有效。
如果我在吠叫错误的树,那么请告诉我!