0

我正在使用 Process.Start(url) 在默认 Web 浏览器中启动 URL,然后我计划使用 Process.Kill() 将其关闭。

问题是找到默认浏览器以知道要杀死哪个进程。建议?

4

1 回答 1

1

取自:打开默认网络浏览器

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 回答