2017-12-27 14 views
-1

自分のコンピュータの使用中にマウスを使用する時間と場所を確認する必要があります。そのために、私は常に前景にとどまる透明なフォームを作成しました。問題は、それが期待通りに動作しないことです。バックグラウンドアプリのイベントを中断することなく透過フォーム上のMouseClickイベント

なんらかの理由でとtransparencyKeyの書式をRedに設定すると、私はMouseEventsを読み取ることができますが、バックグラウンドにとどまるアプリでは何もできません。私はそれが透明なので、フォームを通して見ることができますが、私はそれの後ろにとどまるアプリでマウスを使って何もすることはできません。

一方、backgroundColortransparencyKeyControl(システムカラー)を設定すると、他のアプリケーションでも操作できますが、MouseEventsは機能しません。

MouseEventsを使用して他のWindowsアプリを同時に使用できる簡単な方法はありますか?

+0

間違いなく、良いアプローチではありません。なぜフォームの代わりにサービスを作成し、O.すべてのマウスクリックで通知されるAPI? –

答えて

2

システムレベルでマウスまたはキーボードの操作が必要な場合は、1つの方法しかありませんが、単純ではありません。フックを使用します。参考までにSetWindowsHookExを参照してください。

SetWindowsHookExは、キーボードやマウスのすべてのアクティビティをインターセプトし、アプリケーションが情報を取得できるようにするWindows APIです。

Hereおよびhere (version 1)例がいくつかあります。

関連する問題