Visible = False で起動したアプリ


風太郎  2005-07-28 13:12:19  No: 123811  IP: [192.*.*.*]

VB.NETでアプリケーションをVISIVLE=FALSEで起動した場合
終了をしないと、その部分を実行するたびに
どんどん増えていってしまうのでしょうか?

IE=createobject("internetexplorer.application")
IE.visible=false
IE.navigate("******")

例えば上記のような場合、開いたアプリを終了するには
どういうプログラムを書いたら良いでしょうか?

よろしくお願いします。

編集 削除
通ってみた  2005-07-28 13:20:08  No: 123812  IP: [192.*.*.*]

IEはVisibleがFalseの状態でNavigateしてくれる?
確かWebBrowserはしてくれないと思ったけど

まぁ「例えば」らしいけど・・・


ともあれ、せめて最小化で起動するのが優しい設計でしょうな

編集 削除
特攻隊長まるるう  2005-07-28 13:52:31  No: 123813  IP: [192.*.*.*]

二重起動防止を考えます。
過去ログ検索『重起動』でどうぞ。

編集 削除
特攻隊長まるるう  2005-07-28 14:00:15  No: 123814  IP: [192.*.*.*]

>例えば上記のような場合、開いたアプリを終了するには
>どういうプログラムを書いたら良いでしょうか?
終了させる必要がないから Visible = False なのでは?
Windows が終了すればアプリは終了されると思いますが?
http://madia.world.coocan.jp/vb/vb_bbs/200212_02120043.html

編集 削除
特攻隊長まるるう  2005-07-28 14:03:10  No: 123815  IP: [192.*.*.*]

…ゴメンなさい書き忘れが多い(汗)
ただし時間のかかる処理を行った場合 シャットダウン
時に「応答無し」扱いとかになるんで、トラブルの元になります。

編集 削除
マグ  2005-07-29 09:44:46  No: 123816  IP: [192.*.*.*]

開いたIEをVB側から閉じるということでしょうか?

    Dim IE As Object = Nothing

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        IE = CreateObject("internetexplorer.application")
        IE.visible = True
        IE.navigate("http://www.biglobe.ne.jp/")
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Not IE Is Nothing Then
            '終了
            IE.Quit()
            'プロセスの破棄
            System.Runtime.InteropServices.Marshal.ReleaseComObject(IE)
            IE = Nothing
            GC.Collect()
        End If
    End Sub

編集 削除
マグ  2005-07-29 09:46:26  No: 123817  IP: [192.*.*.*]

すみません。
IE.visible = True

IE.visible=false
に戻してください。

編集 削除