Entwickler-Ecke

IO, XML und Registry - Standard Browser Finden in der Registry


Bork - Sa 07.06.08 14:04
Titel: Standard Browser Finden in der Registry
Hi,

Ich hab hier ein Programmcode gefunden der mir sogar 1 meiner 2 Gesuchten werte ausspuckt
doch habe ich mit Substring bzw. Split wenig erahrung. Ich brauche einmal den Programmpath
von dem Standart Browser und den Prozess Name der ist in mein Fall FIREFOX.exe. Ich muss
aus --> C:\PROGRA~1\MOZILL~1\FIREFOX.EXE <--- FIREFOX.EXE raus bekommen.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
 public static string getDefaultBrowser()
        {
            string browser = string.Empty;
            RegistryKey key = null;
            try
            {
                key = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command"false);
                browser = key.GetValue(null).ToString().ToLower().Replace("\"""");
                if (!browser.EndsWith("exe"))
                {
                    browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4);
                }
            }
            finally
            {
                if (key != null)
                {
                    key.Close();
                }
            }
            return browser;
        }


Ich hoffe ihr konnt es mir anhand dieses beispiels erklären. Schonmal Danke im Vorraus


MFG Bork

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt


Kha - Sa 07.06.08 15:24

:welcome:

Für Pfad-Manipulationen gibt es die Path-Klasse.

PS: Den Try-Block solltest du durch ein using (RegistryKey key = ...) ersetzen.


Bork - Sa 07.06.08 15:27

Was für ein Pfad Manipulation ? Ich will doch nur den Pfad in einem string haben und die volle exe bezeichnung in einem andrem string.


Christian S. - Sa 07.06.08 15:39

Den Dateinamen aus einem Pfad auslesen, ist im weitesten Sinne eine Pfadmanipulation. Du solltest Dir die Klasse mal ansehen, da dürfte was für Dich bei sein.

P.S.: Standard