C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 他のプログラムの入力を制限(ロック)する


(過去ログ 131 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■77286 / inTopicNo.1)  他のプログラムの入力を制限(ロック)する
  
□投稿者/ アローン (1回)-(2015/10/05(Mon) 11:51:09)

分類:[VB.NET/VB2005 以降] 

他のプログラムの入力を制限(ロック)することは可能でしょうか?
「状況」
他のプログラムとはAutocadで、Sendmessageでメッセージ送信し正常に動作していますが、
送信中に入力操作をされると動作が不安定になるため、一時的にロックしたいのです。
そのようなことは可能でしょうか。
宜しくお願いします
環境は、VSExpress2013を使用しています。

引用返信 編集キー/
■77293 / inTopicNo.2)  Re[1]: 他のプログラムの入力を制限(ロック)する
□投稿者/ 我龍院 (2回)-(2015/10/05(Mon) 19:41:15)
入力操作なるものがなんなのかよくわからない。
Sendmessageも入力と言えば言えなくもないのだが...

邪道ではあるが、Sendmessageでメッセージ送信中は、
Autocadの表示画面の上にForm.Opacity 1%のほとんど透明な
Formを被せる。
Autocadの表示領域はAPIの
GetClientRect(IntPtr hwnd, out RECT lpRect);
で取得。
引用返信 編集キー/
■77295 / inTopicNo.3)  Re[1]: 他のプログラムの入力を制限(ロック)する
□投稿者/ Azulean (524回)-(2015/10/05(Mon) 22:21:30)
2015/10/05(Mon) 22:22:46 編集(投稿者)

No77286 (アローン さん) に返信
> 他のプログラムの入力を制限(ロック)することは可能でしょうか?
> 「状況」
> 他のプログラムとはAutocadで、Sendmessageでメッセージ送信し正常に動作していますが、
> 送信中に入力操作をされると動作が不安定になるため、一時的にロックしたいのです。
> そのようなことは可能でしょうか。

技術的にできるとしても、それを尋ねる時点で難しいような気はします。
作るのに失敗すると、ロックされたままデバッグ中断もできず、リセットボタン行きなので。

本気で入力を横取りしようと思うなら、グローバルフックですかね。
低レベルフックでカバーできないような操作なら、VB.NET だけだと実現できませんが。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -