AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Binär Wert in die Registy schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Binär Wert in die Registy schreiben

Ein Thema von exe1972 · begonnen am 29. Dez 2004 · letzter Beitrag vom 29. Dez 2004
Antwort Antwort
exe1972

Registriert seit: 26. Dez 2004
3 Beiträge
 
#1

Binär Wert in die Registy schreiben

  Alt 29. Dez 2004, 16:16
Hallo,
ich möchte in der Registry, einen vorhandenen Binären Eintrag ändern.
Dieser Registry Eintrag soll die Modemeinstellung "warten auf Freizeichen" deaktivieren.
Mein Problem liegt jetzt darin das die Werte zwar in die Registry geschrieben werden
aber nicht Binär sondern Hex.


Delphi-Quellcode:
var regist: TRegistry;
     s: String;

begin
  CreateOddWindow(Handle, false);
  regist:=TRegistry.Create;
  try

    regist.RootKey:=HKEY_LOCAL_MACHINE;
    regist.OpenKey('SYSTEM\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000',false);
    s := '3c,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,d3,03,00,00';
    regist.WriteBinaryData('Default', s[1], length(s));
Danke schon mal in voraus
Gruß exe1972

[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Binär Wert in die Registy schreiben

  Alt 29. Dez 2004, 17:10
Moin Exe1972,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Um binäre Daten zu schreiben, darfst Du den String nicht so aufbauen, wie er z.B. für Reg-Dateien erforderlich ist, sondern jedes Zeichen des Strings ist das jeweilige Byte.

Statt:
s := '3c,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,d3,03,00,00'; muss es also:

s := #$3c#00#00.... usw. heissen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
exe1972

Registriert seit: 26. Dez 2004
3 Beiträge
 
#3

Re: Binär Wert in die Registy schreiben

  Alt 29. Dez 2004, 17:49
Hallo Chris,
Danke für die schnelle Antwort
das ändern der Zeile

s := '#$3c#00#00#00#00#00#00#00#00#00#00#00#01#00#00#00#d3#01#00#00'; brachte leider nicht den gewünschten Erfolg.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Binär Wert in die Registy schreiben

  Alt 29. Dez 2004, 21:45
Moin Exec1971,

wo habe ich denn Anführungsstriche verwendet?

Die Verwendung von # gefolgt von einer Zahl ist eine andere Schreibweise für chr(..), und erzeugt einen Character.

#$3F meint das Zeichen mit dem Character Code $3F = 63 Dezimal.
Es könnte also durch chr(63) oder chr($3F) ersetzt werden.

Der String könnte also auch so gebildet werden:

s := chr($3C)+chr(0)+...; Wichtig:
Deine Ursprungsdaten sind eigentlich hexadezimal dargestellt, nur macht dies bei den meisten Werten nichts aus, ausser beim 3C und D3.
Wenn sich die letzte Stelle im Bereich 0-9 befindet, und die erste 0 ist, kannst Du die dezimale Angabe verwenden, ansonsten muss $xx geschrieben werden (xx = die beiden Ziffern).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
exe1972

Registriert seit: 26. Dez 2004
3 Beiträge
 
#5

Re: Binär Wert in die Registy schreiben

  Alt 29. Dez 2004, 22:10
die Lösung sieht folgendermaßen aus

 s := #$3c + #$00 + #$00 + #$00 + #$00 + #$00 + #$00 + #$00 + #$00 + #$00 + #$00 + #$00 + #$01 + #$00 + #$00 + #$00 + #$d3 + #$01 + #$00 +#$00; Danke, Chris ohne Dich hätte ich das wohl nie hinbekommen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz