Hey,
ich würde gerne aus der Registry einen Binary-Key auslesen, liegt in dem Pfad:
@"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\bohemia interactive studio\arma 2 oa"
jedoch habe ich keinen Schimmer wie ich den ganzen Key a) auslese u. b) zu einem String konvertiere, wäre nett wenn jemand hilft.
C# | Binary - Key aus Registry auslesen
- Blu3scReeN
- Geschlossen
- Erledigt
-
-
RegistrySecurity rs = new RegistrySecurity();
string user = Environment.UserDomainName + "" + Environment.UserName;
RegistryAccessRule rsr;
try
{
rsr = new RegistryAccessRule(user, RegistryRights.ReadKey, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow);
rs.AddAccessRule(rsr);RegistryKey pathKey = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Wow6432Node").OpenSubKey("bohemia interactive studio").OpenSubKey("arma 2 oa");
string key = pathKey.GetValue("hier_der_key_den_du_lesen_willst").ToString();rs.RemoveAccessRuleAll(rsr);
pathKey.Close();
}
catch(Exception ex)
{
// was passeren soll wenn der Key nicht lesbar oder nicht existent ist
}Das sollte eigentlich alles logisch sein.
Erst sicherstellen das du den Key lesen darfst und dann erst lesen//Edit: vergessen das man die Berechtigung auch wieder entfernen sollte
-
Ma, habs schon geschafft
Console.Write(" {0:X2}", value[i]);
will das ganze aber nicht in die Console, sondern in einen einfachen string test;
Wie würdest du das tuen? -
So muss das eigentlich reichen
string key = pathKey.GetValue("hier_der_key_den_du_lesen_willst").ToString();
zumindest hatte ich noch keine Probleme damit -
So muss das eigentlich reichen
string key = pathKey.GetValue("hier_der_key_den_du_lesen_willst").ToString();
zumindest hatte ich noch keine Probleme damit
hm.. wollte das jetzt eigtlich so lassen wie ichs hab, hab jetzt noch den String versucht zu formaten
bekomme da aber Fehler -
du solltest das auch richtig machen
string str = null;
sting.Format(str, " {0:X2}", value[i]); -
naja, ich muss doch ein ByteArray zu einem String converten, das Bytearray heit value, jedoch bekomm ich das nicht hin, wenn ich es so mache:
string sData = System.Text.Encoding.ASCII.GetString(value);
bekomm ich nur zeimlich unnötige Zeichen hin -
Dann versuch das mal mit ASCIIEncoding
string sData = ASCIIEncoding.ASCII.GetString(value);
string.Format müsste aber auch funktionieren
-
du solltest das auch richtig machen
string str = null;
sting.Format(str, " {0:X2}", value[i]);Dann versuch das mal mit ASCIIEncoding
string sData = ASCIIEncoding.ASCII.GetString(value);
string.Format müsste aber auch funktionieren
Bei string sData = ASCIIEncoding.ASCII.GetString(value); sagt er nur stur System Byte[]/E Habs jetzt so:
Zitatbyte[] value = (byte[])regKey.GetValue("KEY");
string hex = BitConverter.ToString(value);Klappt <:
-
Aber eigentlich hätte auch
string str = regKey.GetValue("KEY").ToString();
funtkionieren müssen
Wie gesagt nutze das so auch und ich bekomm dort Klartext raus -
breadfish.de
Hat das Thema geschlossen.