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);
しかし、メッセージ自体を構築する方法も、このアプローチがまったく機能するかどうかもわかりません。
私が間違った木を吠えている場合は、私に知らせてください!