2011-09-27 3 views
10

앱과 간단한 앱을 만들고 있는데, 내가 원하는 것은 일반 영어와 아키텍처로 OS 정보를 표시하고 설치된 브라우저를 확인한 다음 쿠키 삭제 기능을 추가합니다.새내기를 위해 C#을 사용하여 설치된 브라우저를 확인하는 방법

브라우저 감지 부분에 무엇이 붙어 있습니까? 누구나 괜찮은 자습서 또는 방법을 가르쳐 줄래? 감사.

편집 : 관리 OK 마침내 아래 HCB와 다른 (모두 감사합니다)에서 코멘트에서 제공하는 조각을 사용하여 일부 작업 코드를 긁히지. 지금까지 내가 그래서 내가 같은 일을하려고 사람들을 위해 무엇을 ID 점유율을 생각 정확히 원하는 일을한다 : 나의 극단적 인 성가심에

RegistryKey browserKeys; 

     browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\WOW6432Node\Clients\StartMenuInternet"); 

     if (browserKeys == null) 
     { 
      browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Clients\StartMenuInternet"); 
     } 

     string[] browserNames = browserKeys.GetSubKeyNames(); 

     foreach (string browser in browserNames) 
     { 
      using (RegistryKey tempKey = browserKeys.OpenSubKey(browser)) 
      { 
       foreach (string keyName in tempKey.GetValueNames()) 
       { 
        if (tempKey.GetValue(keyName).ToString() == "Internet Explorer") 
        { 
         internetExplorerButton.Enabled = true; 
         internetExplorerButton.BackgroundImage = Properties.Resources.iExplorer; 

         if (internetExplorerButton.Enabled == true) 
         { 
          Label ieLabel = new Label(); 
          ieLabel.Text = "Found!"; 
          explorerLable.Text = ieLabel.Text; 
         } 
        } 

을, 나는 구글이 현지에서 브라우저를 설치하려는 것으로 나타났습니다 앱 데이터. 나는 다시 별도의 코드를 작성하고 확인이를 해결하기 위해 관리 :

Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Google\Update\Clients"); 

Edit2가 :가 확인해야하므로 크롬 CurrentUser 몇 친구를 위해 잘 작동하는 것 같다 확인. 이처럼

+2

가능한 중복 (http://stackoverflow.com/questions/2370732/how-to-find-all-the [컴퓨터에 설치된 모든 브라우저를 찾는 방법] -browsers-installed-a-machine) –

+0

중복 질문에 대한 대답은 여기 링크 : http://rhizohm.net/irhetoric/post/2009/04/03/0a-Finding-All-Installed- Windows-XP-and-Vista-ndash3b-64bit에주의하십시오! 0a-.aspx 이보다 더 간단해질 것이라고 저는 생각하지 않습니다. –

+0

나는 그것을 읽었으나 그의 '브라우저'클래스가 어떤 목적을하는지 이해하지 못한다. 그의 브라우저 클래스에는 무엇이 들어 있습니까? 그리고 내가 또한 만들어야 할 필요가 있습니까? – BrandNewDev

답변

12

:

RegistryKey browserKeys; 
//on 64bit the browsers are in a different location 
browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\WOW6432Node\Clients\StartMenuInternet"); 
if (browserKeys == null) 
    browserKeys = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Clients\StartMenuInternet"); 

string[] browserNames = browserKeys.GetSubKeyNames(); 
+1

위치를 확인하고 HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall을 확인하는 것의 차이점은 무엇입니까? 명백한 것을 제외하고. – BrandNewDev

+3

브라우저가 아닌 설치된 모든 프로그램 (설치 제거 가능)을 나열합니다. 따라서 사용자가 설치 한 브라우저를 놓칠 가능성이있는 '허용 된'브라우저 목록이 필요합니다. –

+0

그렇다면 StartMenuInternet은 엄격히 브라우저입니까? 내가 참조. 그래서 browserKeys.GetSubKeyNames()는 이름을 가져 와서 문자열 배열에 저장합니다. 배열을 통해 "firefox"또는 그와 비슷한 것을 반복합니다. 내가 물어 보는 유일한 이유는 그 일을하기 위해 코드를 완성하기 위해 잠시 시간이 걸릴 것이기 때문에 나는 완전한 초보자이다. 그래서 그것이 시험해 보일 때까지 시행 착오가 될 것이다. 감사. – BrandNewDev

관련 문제