2013-09-25 4 views
0

Я использую Process.Start (url) для запуска URL-адреса в веб-браузере по умолчанию, а затем планирую закрыть его с помощью Process.Kill().Поиск браузера по умолчанию в VB.net

Проблема заключается в поиске браузера по умолчанию, чтобы узнать, какой процесс нужно убить. Предложения?

ответ

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 
+0

Для убийства на работу я должен был раздеться "браузер" вниз: browserp = IO.Path.GetFileName (браузер) strfile = browserp Dim strSplit() As String strSplit = Split (strFile , ".") browserkill = (strSplit (0)) Тонкая замена браузера с помощью broweserkill. Я уверен, что есть более элегантный способ, но он работает. – gwilson

Смежные вопросы