- PR -

Winodowの非表示の方法について

投稿者投稿内容
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2007-04-17 11:33
こんばんは。

引用:

未記入さんの書き込み (2007-04-17 11:20) より:
Tolさんごめんなさい。Sendmessageって見えてないフォームは受け取れないのか。



そんなことはないとおもいますよ。非表示のウィンドウにもメッセージは送れるはずですが。
実際、非表示ウィンドウのメッセージ処理が必要な場合もあります。

引用:

未記入さんの書き込み (2007-04-17 11:20) より:
>SendMessage じゃなきゃダメなの?そこから見直した方がいいんじゃない?
スレ主でもないのに質問して申し訳ないですけど、非表示の常駐プロセスへの送信って普通どうやるんでしょうか?(MQとか?)



プロセス間通信の方法はいろいろありますね(Windows APIなども含めると)。要件次第の選択になるかと思います。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2007-04-17 11:43
こんばんは。

引用:

Tolさんの書き込み (2007-04-16 23:02) より:
上記の方法だと、ウィンドウハンドルの取得ができないみたいです。



回答ではありませんが、Process.MainWindowHandleプロパティの実装は、
WinAPIのEnumWindows関数でトップレベルウィンドウを列挙して、
そのトップレベルウィドウが所属するプロセスIDが
起動したプロセスのものと一致するものを見つけてきています。

引用:

Tolさんの書き込み (2007-04-16 23:02) より:
コード:
System.Threading.Thread.Sleep(1000)




.NET 2.0ならProcess.WaitForInputIdleメソッドを使って待つほうが良い気がします。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-17 11:49
かるあさんの方法だと、作ったFormが浮いちゃいませんか?
未記入さんの方法は、試しましたか?

ダメでした
タスクバーに表示しないとダメみたい

[ メッセージ編集済み 編集者: Jitta 編集日時 2007-04-17 12:07 ]

スキルアップ/キャリアアップ(JOB@IT)