Ich habe ein Programm, das die verschiedenen Registrierungswerte aus "Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ComDlg32 \ LastVisitedMRU" ausgibt.C# Windows Registrierung GetValue Fehler
Allerdings gibt das Programm einen Fehler aus Kann nicht implizit type'object in 'string' an der s-Variable im GetValue-Teil oder dem Programm konvertieren! Und das Programm gibt einen Fehler von "Kann nicht auf einen geschlossenen Registrierungsschlüssel auch zugreifen" aus.
Kann jemand bitte beraten zu den Codes? Vielen Dank!
Der Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32;
namespace RegKeys
{
class ConsoleApplication1
{
static void Main(string[] args)
{
try
{
RegistryKey rk = Registry.CurrentUser;
rk = rk.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU", false);
PrintKeys(rk);
}
catch (Exception MyError)
{
Console.WriteLine("An error has occurred: " + MyError.Message);
}
}
static void PrintKeys(RegistryKey rk)
{
if (rk == null)
{
Console.WriteLine("No specified registry key!");
return;
}
String[] names = rk.GetValueNames();
Console.WriteLine("Subkeys of " + rk.Name);
Console.WriteLine("-----------------------------------------------");
foreach (String s in names)
{
try
{
if (s == "MRUList")
{
continue;
}
else
{
String val = rk.GetValue(s);
Console.WriteLine(s + " Contains the value of : " + val);
}
rk.Close();
}
catch (Exception MyError)
{
Console.WriteLine("An error has occurred: " + MyError.Message);
}
Console.WriteLine("-----------------------------------------------");
rk.Close();
}
}
}
}
Der zurückgegebene Wert ist ein REG_BINARY-Typ.Ich habe es geschafft, die binären Werte zu bekommen, aber können Sie beraten, wie man binäre in Zeichenkette umwandelt? – JavaNoob
funktioniert für mich, thx –