同時に複数のマウス クリックを実行できるようにする必要があるマルチスレッド アプリケーションがあります。
マウスクリックを送信する必要がIntPtr intptr
あるプロセスがあります。私はウェブでこの情報を見つけようとしましたが、私が試したいくつかの例があります. しかし、私はそれらのどれも機能させていません。
私の問題を解決する正しい方法は、関数を使用することです
SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
hWnd は、プロセスへの IntPtr です。Msg は、左クリックが必要なアクションですint WM_LBUTTONDBLCLK = 0x0203;
。IntPtr wParam は、この問題には関係ありません (私が理解しているように)。lParam を次のように構築します。
Int32 word = MakeLParam(x, y);
private int MakeLParam(int LoWord, int HiWord)
{
return ((HiWord << 16) | (LoWord & 0xffff));
}
しかし、あなたが理解しているように、私はこれを機能させることができません。私の最初の質問は、座標はこのプロセスのウィンドウ内にありますか、それとも絶対スクリーン座標ですか? そして私の2番目の質問は、私は何を間違っていますか?