掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
システムメニューの左マウス押下での処理メッセージの流れを監視するには (ID:29363)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
環境 Delphi6 Personal Win2000 質問したいことが少し複雑なので、質問内容に対して適切な質問タイトルとなっていないかも知れませんがよろしくお願いします。 1組のキーボードとマウスで複数のPCを操作する「どこドア」の機能をアプリケーションの付随機能として組み込もうとしています。 現在、操作元PCでマウスフックし、それを得て、操作先のPCにマウス操作命令を送信し、 SetCursorPos(pMs.X,pMs.Y); MOUSE_EVENT(MOUSEEVENTF_LEFTDOWN,0,0,0,0); で左マウス押下等の動作を実現できています。 しかし、この操作を実現している自製アプリケーションのシステムメニュー(最小化、最大化、閉じる)で左マウス押下をすると、その時点で、操作先でマウス操作命令(Label表示で確認)が受信されなくなり、以降は遠隔操作ができません。 現在、把握している現象は以下の通りです。 ・操作先でマウス操作命令を処理するアプリケーションのどのフォームの場合でも現象は起こる ・遠隔操作が不能となっても、操作先PCを直接マウスで操作すればマウスは動き、システムメニューから離れる、あるいはクリック動作を完結させると、その後はまた遠隔操作可能に復帰 ・マウス操作命令を処理しない他のアプリケーションのシステムメニュー操作の場合には起こらない ・押下のところを続けてMOUSE_EVENT(MOUSEEVENTF_LEFTUP,0,0,0,0)を実行し、クリックの処理にしてやると最大化/最小化/閉じると言った本来の動作が実現 ・マウス操作命令受信部をスレッドにして独立させても現象は変わらず これらから、システムメニューの押下のメッセージ処理部で処理が滞っていると思いますが、操作先PCでデバッグモードにしても、それ自体がメッセージを発してしまうので、今の私にはこれ以上調べる手段がありません。 そこで、 1.操作実現アプリケーションのシステムメニューに対する操作でも問題なく動作する方法 2.さらに調査を進めるために、メッセージ処理の流れを追う方法 に関して何か良いアドバイスがあればよろしくお願いします。 一応、アプリケーションから切り離して、システムメニューを操作することのない別アプリケーションでの作成で目的自体は達成しようと考えていますが、可能であるのならば現在のやり方で実現したいです。よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.