Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1841 | Besucher online: 102
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Installierte Programme auflisten


Autor: theKey
Sprache: C#
Bewertung:
7.77 (3 votes)
Anzahl der Aufrufe: 8499
  
Kick it on dotnet-kicks.de  

Beschreibung:

Mit dieser Klasse werden die installierten Programme in Windows aufgelistet. Jedoch nur diese, welche sich in die Registry schreiben.

Abgelegt unter: installierte Programme, Programme anzeigen, Programme, installiert.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
using System.Collections.Specialized;


namespace myNamespace
{
    class Programme
    {

        //Installierte Programme aus der Registry auslesen.
        public static StringCollection installierteProgramme()
        {
            StringCollection alleProgramme = new StringCollection();
            string regKeyPfad = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
            RegistryKey regKey = Registry.LocalMachine.OpenSubKey(regKeyPfad);
            
            if (regKey != null)
            {
                string[] subKeyNames = regKey.GetSubKeyNames();
                
                for (int i = 0; i < subKeyNames.Length; i++)
                {
                    RegistryKey subKey = regKey.OpenSubKey(subKeyNames[i]);
                    string programmName = (string)subKey.GetValue("DisplayName");
                    
                    if (programmName == null)
                    {
                        programmName = (string)subKey.GetValue("QuitDisplayName");
                    }
                    if (programmName != null)
                    {
                        alleProgramme.Add(programmName);
                    }
                }
            }
            else
            {
                throw new Exception("Registry-Schluessel"
                    + Registry.LocalMachine.Name
                    + "\\" + regKeyPfad
                    + " nicht gefunden");
            }
            return alleProgramme;
        }



//Diese Methode übergibt die aus der Registry ausgelesenen Programme in eine Listbox, könnte auch ein TreeView oder ähnliches sein. In diesem Fall übergibt sie es an eine ListBox

        public void holeInstallierteProgs(ListBox listbox)
        {
            StringCollection st = new StringCollection();
            
            st = installierteProgramme();

            for (int i = 0; i < st.Count - 1; i++)
            {
                if (st[i].Contains("Hotfix") || st[i].Contains("Sicherheitsupdate") || st[i].Contains("Update"))
                {
                    st.RemoveAt(i);
                }
            }

            foreach (string programme in st)
            {
                
                listbox.Items.Add(programme);
            }
        }
    }
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

backdoor schrieb am:  17.08.2007 19:23:08

wie kann man die auflist funktion aufrufen? wenn ich holeInstallierteProgs(ListBox listbox) verwende dann gehts nicht.
Jan Welker schrieb am:  17.08.2007 19:47:23

Du musst nur den Namen Deiner Listbox angeben:

 holeInstallierteProgs(listBox1);


Dann gehts ;-)

Jan
backdoor schrieb am:  18.08.2007 11:02:09

achja stimmt ;-) vielen dank jan


Diese Snippets könnten für Sie interessant sein:

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.