Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Welches Dateiformat und wie wird es erstellt? (https://www.delphipraxis.net/113153-welches-dateiformat-und-wie-wird-es-erstellt.html)

hedie 3. Mai 2008 15:01


Welches Dateiformat und wie wird es erstellt?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

Im anhang ist ein Bild eines Binären Registry Eintrag.

Diesen möchte ich mit einem Delphi Programm auch erzeugen können.

Doch wenn ich nen String schreibe gibts keine Zusätzlichen Punkte...

Weiss jemand wie ich das machen muss?

Danke schonmal

inherited 3. Mai 2008 15:02

Re: Welches Dateiformat und wie wird es erstellt?
 
Das ist offenbar, wie dir in dem anderen Thread bereits mitgeteilt wurde, ein Unicodestring. Benutz mal die Forensuche.

Apollonius 3. Mai 2008 15:04

Re: Welches Dateiformat und wie wird es erstellt?
 
Das ist ein Unicode-String. Also musst du Widestring statt (Ansi-)String verwenden.

hedie 3. Mai 2008 15:07

Re: Welches Dateiformat und wie wird es erstellt?
 
Danke..

Es macht nun zwar die gleichen Punkte aber es kann nicht mehr den gesamten Inhalt schreiben.

Ich mache es so:

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var
reg:TRegistry;
nFile:widestring;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Microsoft\MSNMessenger',false);
nFile := '"'+paramstr(0)+'"';
Reg.WriteBinaryData('AntiVirus', nFile[1], Length(nFile));
Reg.Free;
end;
Im RegEdit gehts gerade noch bis zum "R" von C:\Dokummente und Einstellungen\Eigene Dateien\R.... (ad Studio)

Apollonius 3. Mai 2008 15:09

Re: Welches Dateiformat und wie wird es erstellt?
 
Da ein Widestring Widechars beinhaltet, musst du die Länge mit zwei multiplizieren. Außerdem solltest du ein bisschen mit den abschließenden Null-Bytes experimentieren.

hedie 3. Mai 2008 15:11

Re: Welches Dateiformat und wie wird es erstellt?
 
Das mit dem multiplizieren ist mir in dem Augenblick eingefallen
als die Benachrichtigung wegen des neuen Beitrags gekommen ist :D


Aber was meinst du mit Null Bytes?

Apollonius 3. Mai 2008 15:13

Re: Welches Dateiformat und wie wird es erstellt?
 
Offensichtlich endet dein Beispiel-Registry-Eintrag mit zwei Null-Bytes, also ein #0-Char wie beim gewöhnlichen PChar auch. Es kann sein, dass der MSNMessenger diese erfordert, dann musst du zur mit zwei multiplizierten Länge noch zwei addieren.

hedie 3. Mai 2008 15:16

Re: Welches Dateiformat und wie wird es erstellt?
 
Super... Vielen Dank

Hat ausgezeichnet geklappt :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz