- - PR -
プログラムの呼び出しで、呼び出し先の画面のマップされるのを待機するには
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-01 19:59
VB.NETを使用して、機能毎にWindowsアプリケーション(exe)を作成し、
コマンドボタンなどで別機能を呼び出すようにプログラムを作成しました。 別機能を呼び出し、画面が表示された段階で、呼び出し元は処理を終了するように 作成したのですが、それぞれの処理で、DBの接続や、複数のコントロールが 張り付いているため、画面のマップが遅く、処理の呼び出し時に、 画面上にデスクトップの画面が表示されてしまいます。 別機能の呼び出しは、Processクラス・Start後、WaitForInputIdleメソッドで プロセスがアイドル状態になるまで待機しています。 Dim p As System.Diagnostics.Process = _ System.Diagnostics.Process.Start("c:\B.exe") p.WaitForInputIdle() Respondingプロパティで、ユーザー インターフェイスが応答するかどうかを チェックしましたが、状況は変わりませんでした。 ユーザの要望で、なるべくデスクトップは表示しないようにとのことで、 困っております。 どなたか対処法をご存じでしたらお教えください。 よろしくお願いします。 | ||||
|
投稿日時: 2004-11-02 23:51
諸農です。
呼び出したアプリケーションが表示されれば、自分はディアク ティブになると思うので、別のアプリケーションを呼び出す時 にフラグを立てておき、Form.Deactivateイベントでフラグが立 っていたら自分をクローズするって言うのはいかがでしょうか。 #思い付きの未検証なので、確認をお願いしますm(__)m _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-11-03 06:52
スプラッシュ画面を表示する、というのは、どう?
_________________ | ||||
|
投稿日時: 2004-11-04 11:50
諸農さん、Jittaさん、ありがとうございました。 Form.Deactivateで自分自身をクローズするようにして試したのですが、 呼び出し先の起動直後にイベントが発生し、クローズされてしまいました。 呼び出し先がアイドル状態になると、Deactivateイベントが発生してしまうのでしょうか… Jittaさんの言われたスプラッシュですが、ユーザが納得してくれない場合提案 したいと思います。 | ||||
|
投稿日時: 2004-11-05 00:18
諸農です。
勘違いさせてしまったようですね。 他のアプリケーションがアクティブになると自アプリがディアクティブになるのでは?という予測から思いついた方法ですので、うまくいかなかったのでしたら忘れてくださいm(__)m _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
1