動きに基づいて画像を作成してマウスカーソルの動きを表示するプログラムを作成しようとしました。問題は、アプリケーションでは、フォーカスが合っていない/最小化されている場合でも、マウスの動きを検出して追跡できる必要があることです。すべてのアプリケーションフォームのフォーカスが外れるとカーソル位置を取得
これまでは、グローバルマウスフックなど、さまざまなアプローチを使用しようとしてきました。 MouseMoveイベントのコードは(SP =ポイント、EP =終点を開始)以下である:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (k == 0)
{
ep = e.Location;
g = this.CreateGraphics();
g.DrawLine(p, sp, ep);
}
sp = ep;
}
フォームはフォーム上に集束さだけ移動されたときにこのコードのみマウスの動きを追跡するために働きます。フォーム外での動きを追跡する別の方法がありますが、フォームのサイズが変更されたときには動作を停止します。
グローバルマウスフックなどを使用して動きを追跡する適切な方法は何ですか?
あなたの質問とは無関係ですが、おそらく後でサンプルコードに基づいてこれを実行します。あなたが '.CreateGraphics'を呼んでいることが分かったら、おそらく99.9%の間違いをしているでしょう。 –