掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
システムメニューの左マウス押下での処理メッセージの流れを監視するには (ID:29369)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>>送信しているのに受信しないというのは・・・HOOKの話じゃないよね 操作元でのフックは引き続き正常で、操作元PCから操作先PCへマウス操作命令を出しているのに受信しないということです。 >>>システムメニューの押下のメッセージ処理部で処理が滞っていると思いますが >>こうなっていようが 送受信 には関係ない話だからね 私もそうあるべきとは思いますが、現状では、システムメニュー押下によって、他の処理も受け付けなくなっているように思います。ただ、操作先PCを直接マウスで操作しようとするとできるので、全く処理を受け付けないというわけでもないようです。 >>操作元のフックを DLL を使わずに WH_MOUSE をフックすると >>システムメニュー表示とかフォームサイズ変更でフックしなくなるみたいなんだけど う〜ん、今回の問題はフック自体ではないのですが、なんか関係がありそうな現象ですね。 >>操作元を操作したりはしてないのかな? 操作元では、マウスフックしたところですべてのメッセージはフックしたメッセージとしてWndProcに送り、 1.WM_MOUSEMOVEは、操作先PCへのマウス操作命令送信とそのままのデフォルト処理 2.WM_MOUSEMOVE以外は、操作先PCへのマウス操作命令送信のみ ということで、操作元PCはマウスがどこにあるかがわかるようにマウス移動だけしている状態です。 >>1PCで直接座標指定などで >>5.操作元PCで左マウス押上フック >>6.操作元PCから左マウス押上操作命令送信 >>7.操作先PCで左マウス押上操作命令受信 >>8.操作先PCで左マウス押上処理 >>この操作を行なった場合にも同じ状況になるのかな? スレッドにはしていませんが、TEidtのOnChangeにコードを書き、そこでマウス操作命令を処理するようにして確認してみました。結果は、同じようです。システムメニューの押下でEdit1への入力が不可能になり、ここで、直接マウスで、システムメニューから離れて、クライアント領域でクリックしてやると元に戻り、そこまでに押していたキーが一気にEdit1へ入力されました。 あと、最初の投稿で書いた把握している現象の二番目は少し違っていたようです。 >>・遠隔操作が不能となっても、操作先PCを直接マウスで操作すればマウスは動き、システムメニューから離れる、あるいはクリック動作を完結させると、その後はまた遠隔操作可能に復帰 システムメニューから離れるだけではだめで、クリック動作の完結が必要なようです。 >>あと対象が自作アプリ以外でもおきるのかな? 起きません。それから、自作アプリといっても、マウス操作処理をしているアプリだけです。そのアプリであれば、どのフォームでも同じです。 >>これは受信イベント事態がおきていないって事なのかな? 受信した命令テキストの表示が変化しませんので、そうだと思います。操作先PCを直接マウスで操作して遠隔操作可能な状態に復帰させると、それまでの遠隔操作不能時に行っていた操作元PCでの動作が一気に起こり、操作先PCで、マウスが色々動いたりします。これは、先ほどの1PCでTEditを使った場合と同じですね。 あと、今回の1PCでのTEditを使った場合のチェック中に気がついたのですが、フォームのクライアント領域で左マウス押下した場合に、TEditへの入力は、通常のアルファベット、BaskSpaceキー等は問題ないですが、→、←は効かなくなりますね。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.