tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル外部アプリケーションを起動後
記事No3518
投稿日: 2006/04/21(Fri) 09:29
投稿者Ken
[OSのVer]:WindowsXP    [VBのVer]:VB.NET 2003
外部アプリケーションを起動した後、その起動したアプリケーションの終了を
待っています。起動したアプリケーションが終了した後、起動元のアプリケー
ションのウィンドウを最前面に表示したいのですがうまく最善面に表示されません。
他に開いているウィンドウがあったとき、そのウィンドウが最前面に表示されたりします。
また、強制的に以下のようにするとタスクバーが点滅したりします。
最前面に表示したのですがどのようにしたらよいのでしょうか?

  '// strExeName:起動したいアプリケーションパス
    Private Sub AppKidou(ByVal strExeName As String)

        Try
            Me.Enabled = False

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

            'イベントハンドラの追加
            AddHandler Process1.Exited, AddressOf proc_Exited
            'プロセスが終了したときに Exited イベントを発生させる
            Process1.EnableRaisingEvents = True
            Process1.SynchronizingObject = Me
        Catch ex As Exception
            Call ShowErrorMessage(ex, "アプリケーション起動エラー")

            Me.Enabled = True
        Finally

        End Try

    End Sub

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

        Process1.Close()
        '''Process1.Dispose()

        Me.Enabled = True
        Me.TopMost = True
        Me.Activate()
        Me.TopMost = False

    End Sub

[ツリー表示へ]
タイトルRe: 外部アプリケーションを起動後
記事No3519
投稿日: 2006/04/21(Fri) 10:39
投稿者ひろ
これじゃ駄目ですか?

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click

    Shell("NOTEPAD", AppWinStyle.NormalFocus, True)

    Me.Activate()

End Sub

[ツリー表示へ]
タイトルRe^2: 外部アプリケーションを起動後
記事No3520
投稿日: 2006/04/21(Fri) 12:52
投稿者Ken
[OSのVer]:Windows    [VBのVer]:VB.NET  
> これじゃ駄目ですか?
>
> Private Sub Button1_Click(ByVal sender As System.Object, _
>                           ByVal e As System.EventArgs) Handles Button1.Click
>
>     Shell("NOTEPAD", AppWinStyle.NormalFocus, True)
>
>     Me.Activate()
>
> End Sub

ありがとうございます。Shell関数の引数をよくみていませんでした。
上記の方法で行います。

[ツリー表示へ]