0

Process.Start(url) を使用してデフォルトの Web ブラウザーで URL を起動し、Process.Kill() を使用して URL を閉じる予定です。

問題は、デフォルトのブラウザを見つけて、どのプロセスを強制終了するかを知ることです。提案?

4

1 に答える 1

1

出典:デフォルトの Web ブラウザを開く

Private Function getDefaultBrowser() As String
    Dim browser As String = String.Empty
    Dim key As RegistryKey = Nothing
    Try
        key = Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command", False)

        'trim off quotes
        browser = key.GetValue(Nothing).ToString().ToLower().Replace("""", "")
        If Not browser.EndsWith("exe") Then
            'get rid of everything after the ".exe"
            browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4)
        End If
    Finally
        If key IsNot Nothing Then
            key.Close()
        End If
    End Try
    Return browser
End Function

そこで、デフォルトのブラウザを取得できます。次に、実行中のプロセスをループして、ブラウザを強制終了できます。

Dim browser As String
browser = getDefaultBrowser()
For Each p As Process In Process.GetProcesses        
    If p.ProcessName = browser Then
        p.Kill()
        Exit For
    End If
Next
于 2013-09-25T02:19:01.103 に答える