2011-09-27 12 views
10

मैं एक ऐप बना रहा हूं और यह एक आसान है, मैं बस इतना करना चाहता हूं कि यह सादे अंग्रेजी और वास्तुकला में ओएस की जानकारी प्रदर्शित करे और साथ ही स्थापित ब्राउज़र की जांच करें और फिर मैं कुकीज को हटाने और क्या नहीं करने की क्षमता जोड़ देगा।नए लोगों के लिए सी # का उपयोग कर स्थापित ब्राउज़रों की जांच कैसे करें

क्या मैं फंसे हुए ब्राउज़र पहचान भाग है। क्या कोई मुझे कुछ सभ्य ट्यूटोरियल या कैसे करना है? धन्यवाद।

संपादित करें: ठीक मैं कामयाब अंत में नीचे HCB और दूसरों (सभी को धन्यवाद) से टिप्पणी द्वारा प्रदान की स्निपेट का उपयोग कर कुछ काम कर कोड बाहर खरोंच करने के लिए। अब तक यह कर रहा है मैं वास्तव में क्या चाहते हैं तो मैं आईडी शेयर सोचा कि मैं क्या एक ही बात करने का प्रयास कर उन लोगों के लिए है: मेरे चरम झुंझलाहट के लिए

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 [सभी ब्राउज़रों एक मशीन पर स्थापित खोजने के लिए कैसे] -ब्रोसर-स्थापित-ऑन-ए-मशीन) –

+0

डुप्लिकेट प्रश्न का उत्तर यहां एक लिंक है: http://rhizohm.net/irhetoric/post/2009/04/03/0a-Finding-All-Installed- ब्राउज़र-इन-विंडोज-एक्सपी-एंड-विस्टा-ndash3b-beware-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 \ अनइंस्टॉल करने के बीच क्या अंतर है? स्पष्ट के अलावा। – BrandNewDev

+3

वह सभी स्थापित प्रोग्रामों को सूचीबद्ध करेगा (जिन्हें अनइंस्टॉल किया जा सकता है) न केवल ब्राउज़र। तो आपको उपयोगकर्ता द्वारा स्थापित किए जाने वाले यादों की संभावना के साथ मिलान करने के लिए 'स्वीकृत' ब्राउज़र की एक सूची की आवश्यकता होगी। –

+0

ठीक है तो StartMenuInternet सख्ती से ब्राउज़र है? समझा। तो browserKeys.GetSubKeyNames() नाम लेता है और उन्हें एक स्ट्रिंग सरणी में संग्रहीत करता है क्या मैं सिर्फ "फ़ायरफ़ॉक्स" या ऐसा कुछ ढूंढने वाले सरणी के माध्यम से पुन: प्रयास करता हूं? एकमात्र कारण मैं पूछता हूं क्योंकि ऐसा करने के लिए मुझे कोड को पूरा करने में कुछ समय लगेगा, मैं पूरी नौसिखिया हूं इसलिए यह परीक्षण और त्रुटि होने जा रहा है जब तक कि मैं इसे प्राप्त नहीं करता। धन्यवाद। – BrandNewDev

संबंधित मुद्दे