3

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);

しかし、メッセージ自体を構築する方法も、このアプローチがまったく機能するかどうかもわかりません。

私が間違った木を吠えている場合は、私に知らせてください!

4

1 に答える 1