Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从C应用程序发送Windows Media Center远程WM#U输入消息?_C# - Fatal编程技术网

C# 如何从C应用程序发送Windows Media Center远程WM#U输入消息?

C# 如何从C应用程序发送Windows Media Center远程WM#U输入消息?,c#,C#,我正在编写一个应用程序来控制Windows7,尤其是WindowsMedia Center。我可以发送按键、执行命令等,但我想模拟Media Center遥控器上的一些按钮 其中一些是WM_输入消息,如下所述: 我希望以这样的方式发送这些消息,即任何捕获MCE远程消息的应用程序都可以接收这些消息,以便该应用程序可以被更广泛地使用,因此我希望不必向特定窗口发送消息 我知道其中一些命令可以使用键盘快捷键复制,但这些命令在其他应用程序中无效 有人知道我如何从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中传递指向它的指针