【问题标题】:Finding the default browser in VB.net在 VB.net 中查找默认浏览器
【发布时间】:2013-09-25 02:12:17
【问题描述】:

我正在使用 Process.Start(url) 在默认 Web 浏览器中启动一个 URL,然后我打算使用 Process.Kill() 关闭它。

问题在于找到默认浏览器以知道要杀死哪个进程。有什么建议吗?

【问题讨论】:

    标签: vb.net browser


    【解决方案1】:

    取自: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
    

    【讨论】:

    • 为了杀死工作,我不得不剥离“浏览器”: browserp = IO.Path.GetFileName(browser) strfile = browserp Dim strSplit() As String strSplit = Split(strFile, ". ") browserkill = (strSplit(0)) 用broweserkill瘦替换浏览器。我确信有一种更优雅的方式,但它确实有效。
    猜你喜欢
    • 1970-01-01
    • 2012-08-11
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2014-08-10
    • 2012-07-19
    相关资源
    最近更新 更多