我正在使用 Process.Start(url) 在默认 Web 浏览器中启动 URL,然后我计划使用 Process.Kill() 将其关闭。
问题是找到默认浏览器以知道要杀死哪个进程。建议?
取自:打开默认网络浏览器
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