【发布时间】:2013-09-25 02:12:17
【问题描述】:
我正在使用 Process.Start(url) 在默认 Web 浏览器中启动一个 URL,然后我打算使用 Process.Kill() 关闭它。
问题在于找到默认浏览器以知道要杀死哪个进程。有什么建议吗?
【问题讨论】:
我正在使用 Process.Start(url) 在默认 Web 浏览器中启动一个 URL,然后我打算使用 Process.Kill() 关闭它。
问题在于找到默认浏览器以知道要杀死哪个进程。有什么建议吗?
【问题讨论】:
取自:Opening default web browser
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
【讨论】: