Autor Beitrag
KarlSchmidberger
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 05.01.11 14:57 
Hallo,

ich schreibe soeben ein Programm für unsere Administratoren in meiner Firma.

Ich benötige eine Methode die mir die Unterschlüssel (SubKey) von einem Schlüssel (Key) zurück gibt

Ein Code (Quelltext, siehe unten) für Win32-OS (x86) habe ich schon, der funktioniert!


Leider funktioniert dieser nicht unter Win64-OS (x64).

Wenn ich z.B. den Pfad \SOFTWARE\Clients\Mail angebe ... sucht die Methode in dem Pfad \SOFTWARE\Wow6432Node\Clients\Mail
das kann ich nicht gebrauchen da ich auf einen Key in \SOFTWARE\ und nicht in \SOFTWARE\Wow6432Node\ zugreifen möchte

Eine Lösung mit .NET 4.0 habe ich schon gefunden. Leider wird derzeit kein .NET in unseren Firma eingesetzt.

Schönen Gruß Karl :)


ausblenden volle Höhe C#-Quelltext
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:
//Dieser Code liest die Unterschlüssel von HKLM/Software aus und schreibt diese in meine Textbox

using System;
using System.Windows.Forms;
using Microsoft.Win32;
 
namespace RegistryKeysLesen
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string oRegBas = @"\SOFTWARE\Wow6432Node\Clients\Mail";
 
            textBox1.Multiline = true;
            textBox1.ScrollBars = ScrollBars.Vertical;
 
            using (RegistryKey MeinKey = Registry.LocalMachine.OpenSubKey(oRegBas))
            {
                try
                {
                    //for each registry-entry ...
                    foreach (string i in MeinKey.GetSubKeyNames())
                    {
                        textBox1.Text += i + "\r\n"
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
    }
}
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 05.01.11 15:55 
Siehe ein paar Threads unter deinem: c-sharp-forum.de/vie....php?p=628050#628050

user profile iconKarlSchmidberger hat folgendes geschrieben Zum zitierten Posting springen:
Leider wird derzeit kein .NET in unseren Firma eingesetzt.
Dann ist C# vielleicht keine so schlaue Wahl :mrgreen: .

_________________
>λ=
KarlSchmidberger Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 05.01.11 16:11 
Hallo,

Sorry, ich meinte natürlich ".NET Version 4.0" :shock:

Wir verwenden derzeit ".NET Version 3.5"

Danke an @Kha


Gruß Karl
KarlSchmidberger Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 11.01.11 17:22 
Hallo,

ich habe das Problem gelöst !

Folgender Link hat mir sehr geholfen.

www.roelvanlisdonk.nl/?p=919

Beachte bitte wenn man den Code verwendet das da noch ein paar Kopierfehler sind ...
"stringregKeyPath" soll zum Beispiel "string regKeyPath" sein

schöne Grüße
Karl