C# 如何从C应用程序发送Windows Media Center远程WM#U输入消息?
我正在编写一个应用程序来控制Windows7,尤其是WindowsMedia Center。我可以发送按键、执行命令等,但我想模拟Media Center遥控器上的一些按钮 其中一些是WM_输入消息,如下所述: 我希望以这样的方式发送这些消息,即任何捕获MCE远程消息的应用程序都可以接收这些消息,以便该应用程序可以被更广泛地使用,因此我希望不必向特定窗口发送消息 我知道其中一些命令可以使用键盘快捷键复制,但这些命令在其他应用程序中无效 有人知道我如何从C#应用程序发送这些消息吗 以下是我到目前为止总结的内容:C# 如何从C应用程序发送Windows Media Center远程WM#U输入消息?,c#,C#,我正在编写一个应用程序来控制Windows7,尤其是WindowsMedia Center。我可以发送按键、执行命令等,但我想模拟Media Center遥控器上的一些按钮 其中一些是WM_输入消息,如下所述: 我希望以这样的方式发送这些消息,即任何捕获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);
但我不知道如何构造消息本身,甚至不知道这种方法是否有效
如果我找错了树,请告诉我 我还没有尝试过,但是看看你在MSDN中发布的链接+这个页面: 似乎需要在C#app中声明结构,用与要发送的命令对应的数据填充它,并在LPRAM中传递指向它的指针