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

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

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

外部アプリケーション起動時について


(過去ログ 2 を表示中)

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

■2180 / inTopicNo.1)  外部アプリケーション起動時について
  
□投稿者/ pp 一等兵(5回)-(2005/12/21(Wed) 10:28:02)

分類:[VB.NET] 


分類:[VB.NET] 

現在以下のようにして外部アプリケーションを起動しているのですが、起動して終了した後もとのファームがWord等を開いていたりすると後ろに隠れてしまいます。また、強制的に最前面にしようとタスクバーが点滅してしまいます。起動した外部アプリケーションを終了した時に元のフォームを最前面に表示し、タスクバーの点滅がないようにしようとするにはどうしたらよいのでしょうか?

OS:WinXP VB.NET2003 Framework1.1
------------------------------------------------------------------------
Private m_frm As Form
Private proc As Process


Public Sub StartAppWait(ByVal parentForm As Form, ByVal strPath As String)

proc = New Process
m_frm = parentForm

Try
m_frm.Refresh()
m_frm.Enabled = False

'// ▼アプリケーションを起動▼ //
With proc.StartInfo
.FileName = PathCombine(g_strAppPath, strPath)
.WindowStyle = ProcessWindowStyle.Normal
End With
proc.Start()

'// プロセスが終了した時にExitedイベントを発生 //
proc.EnableRaisingEvents = True
'// イベントハンドラの追加 //
AddHandler proc.Exited, AddressOf proc_Exited
Catch ex As Exception
Call ShowErrorMessage(ex, "アプリケーション起動エラー")
m_frm.Enabled = True
Finally
End Try
End Sub

Private Sub proc_Exited(ByVal sender As Object, ByVal e As EventArgs)

Try
'// プロセスが終了した時に実効される //
m_frm.Enabled = True
m_frm.Activate()
m_frm.Refresh()
Catch ex As Exception
Call ShowErrorMessage(ex, "外部アプリケーション終了エラー")
Finally
'// イベントハンドラの開放 //
RemoveHandler proc.Exited, AddressOf proc_Exited

proc.Close()
proc.Dispose()

m_frm.TopMost = True
m_frm.TopMost = False
End Try

End Sub


0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -