tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: アプリケーションの起動について
投稿日: 2008/09/01(Mon) 11:34
投稿者じゅん
> Shell関数 での起動は、どのように設定しておられるのでしょうか?
> (第二引数等)
> できれば、他の人が事象を再現できるようなコードを投稿して下さい。

返答ありがとうございます。
以下がコードです。

●画面Aから画面Bの起動コード
Shell(Trim(wstrAppName), vbNormalFocus, False)

※wstrAppName には、画面BのEXEまでのパスがきます。

●画面Bからの印刷参照のコード
Shell(objclass.gFunc_ReadAccPath & " " & objclass.GetAppPath & basCommon.basCommon.gcMASTERREP & " " & " /x M_地域マスタリスト画面", vbMaximizedFocus, True)

Me.TopMost = True
Me.TopMost = False

MsgBox("表示処理が終了しました。", vbInformation)

※参照画面(Access)が立ち上がり、閉じると、画面Aが一番手前にきてします。
尚、参照画面が完全に表示されると、デスクトップの下(ツールバー)にある、画面Bが消えてしまいます。Vistaでコンパイルしたら消えるが、XPでコンパイルすると、消えない現象も起きています。

●画面Bからの印刷コード
Me.TopMost = True
Shell(objclass.gFunc_ReadAccPath & " " & objclass.GetAppPath & basCommon.basCommon.gcMASTERREP & " " & " /x M_地域マスタリスト", , True)
Me.TopMost = False

MsgBox("印刷処理が終了しました。", MsgBoxStyle.MsgBoxSetForeground)

※印刷時は Me.TopMost = True と Me.TopMost = Fase を指定すると、
画面Bは一番手前にきます。無いと、画面Aが一番手前にきます。
尚、Msgboxの引数をMsgBoxStyle.MsgBoxSetForeground ではなく、vbInformation にすると、画面Bは一番手前にくるが、メッセージが表示され、Enterキーを押下すると、画面AでEnterキーが押された事なり。画面Bを立ち上げようとしてしましいます。



以上がコードです。よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。