0

この質問のタイトルはかなり明確だと思います。

        const int WM_KEYDOWN = 0x100;
        const int WM_KEYUP = 0x101;
        const int WM_SYSCOMMAND = 0x018;
        const int SC_CLOSE = 0x053;
        const int WM_MOUSEMOVE = 0x200;
        int WindowToFind = FindWindow(null, "Untitled - Paint");
        PostMessage(WindowToFind, WM_MOUSEMOVE, 400, 500);
        PostMessage(WindowToFind, WM_KEYDOWN, ((int)Keys.LButton), 0);
        PostMessage(WindowToFind, WM_KEYUP, ((int)Keys.LButton), 0);

上記は現在のコードです。これは機能しません(ただし、ポストメッセージはAを押したい場合のように実際のキーを投稿しますが、それは実行されます。ただし、マウスでは失敗するか、失敗します)

また、lparamが実際に何をしているのかさえわからないことも指摘する必要があります。以前は、lparamをnullに設定し、wparamをkeyに設定していました。実際に場所を設定するのではなく、「受信」するように見えるため、wm_mousemoveを使用することになっているのかどうかさえわかりません。次に、Lparamを500 * 0x10000 + 500のようにxとyの両方を含むように設定し、wparamを0などに設定する必要があることを読みましたが、役に立ちませんでした。他の方法をグーグルで検索しても役に立ちませんでした。私は本当に方法を気にしません、私はただ特定の場所で、焦点のない別のウィンドウで、左マウスを押したいだけです。

4

1 に答える 1

0

おそらくあなたはSendInputP / Invoke)を探しています

P / Invokeのサンプルコードは、プログラムで別のウィンドウフォーカスを与えたい場合に、FindWindowSetForegroundWindowを使用する方法も示しています(それが達成しようとしていることかどうかはわかりません)。

于 2012-07-24T15:21:52.320 に答える