Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wie kann ich das Registry mit API lesen und schreiben? (https://www.delphipraxis.net/286-wie-kann-ich-das-registry-mit-api-lesen-und-schreiben.html)

Daniel B 28. Jun 2002 20:33

Zitat:

Zitat von FuckRacism
@daniel B:
Er will es aber NonVcl!!!!!

oki, oki, entschuldigt :oops:

RomanK 28. Jun 2002 20:46

:twisted: :twisted: eieieieiei

Christian Seehase 28. Jun 2002 20:48

Moin Daniel B,

da zur Initialisierung des Buffers nur die maximale Länge eines Wertes interessant ist, frage ich auch nur den ab. Deshalb die ganzen nil Werte.
Das was man dort sonst noch in Erfahrung bringen kann spielt im gezeigten Zusammenhang einfach keine Rolle.

Code:
RegQueryInfoKey(
  hResult,       // Handle des abzufragenden Keys
  nil,           // Klasse des Keys
  nil,           // Bufferlänge für Klasse
  nil,           // Reserviert, muss nil sein
  nil,           // Anzahl der SubKeys des Keys
  nil,           // Maximale Länge eines Unterschlüssels
  nil,           // Maximale Länge eines Klassennamens von SubKeys
  nil,           // Anzahl der Werte des Keys
  nil,           // Maximale Länge eines Wertnamens
  @dwMaxValueLen, // Maximale Länge eines Wertes
  nil,           // Länge des Security Descriptors des Keys
  nil            // Datum letzte Änderung
);

Daniel B 28. Jun 2002 20:58

Zitat:

Zitat von Christian Seehase
da zur Initialisierung des Buffers nur die maximale Länge eines Wertes interessant ist, frage ich auch nur den ab. Deshalb die ganzen nil Werte. Das was man dort sonst noch in Erfahrung bringen kann spielt im gezeigten Zusammenhang einfach keine Rolle.

http://n-digital.info/Bilder/gator.gif Danke.

TopDogg 30. Jun 2002 23:40

Thanx
 
danke fuer die hilfe.

zuerst mal an sakura, jep das is was ich will.
ich will einen wert aus der Registry in ein Edit feld zeigen und dan einen wert aus der ComboBox in den Registry schreiben.


an Danile B.
mit VCL kann ich es ja auch aber dan wird meine .exe file leider 470 kb gorss und
ohne VCL 14 kb. nice, he.

an Christian,
danke fuer die function. ich werde sie ducharbeiten und weiter bearbeiten. vielen dank.

danke an alle fuer die antworten.

Luckie 1. Jul 2002 00:33

TRegistry kapselt ja nur die API-Registry-Funktionen, hat also in dem Sinne nichts mit der VCL zu tun, wie die Unit Forms. Und ich würde es auch nicht übetreiben, deswegen binde doch mal die Unit Registry ein und kuck wie groß dann deine Exe wird.

Habe es gerade mal gemacht:+ 42 KB. Also wenn du das noch vetreten kannst, dann würde ich nicht so einen Umstand machen und mich mit den API's rumschlagen. Man sollte realistisch bleiben. Oder anders gesagt: Man kann es mit dem nonVCL-Wahn auch übertreiben. Auf der anderen Seite sag ich mir aber auch: Wenn schon dann richtig :mrgreen:. Jetzt wieder spreche ich mich da zwar etwas, aber ich denke, ihr wißt, wie ich das meine.

MathiasSimmack 1. Jul 2002 07:01

Re: Thanx
 
Zitat:

Zitat von TopDogg
an Danile B.
mit VCL kann ich es ja auch aber dan wird meine .exe file leider 470 kb gorss

Nur, wenn du die Fenster usw. auch mit der VCL machst ...
Zitat:

und ohne VCL 14 kb. nice, he.
... Wenn du bei NonVCL bleibst und lediglich die Registry-Unit benutzt, dann dürfte dein Programm mit ca. 60-80k (oder 42k, wie Luckie schrieb) immer noch bedeutend kleiner sein als das VCL-Pendant.

Aber in dem Fall ist der direkte API-Zugriff natürlich vorzuziehen. Würde ich nicht anders machen. :-) Aber trotzdem ist es ja kein Widerspruch - es kommt eben immer auf die Situation an.

Christian Seehase 1. Jul 2002 09:56

Moin Zusammen,

ich habe mir jetzt nicht die gesamte TRegistry durchgesehen, aber spätestens wenn man Multistrings braucht (speziell beim Schreiben) hat man mit TRegistry verloren. Multistrings werden nicht davon unterstützt.

Luckie 1. Jul 2002 12:13

Was sind Multistrings?

Christian Seehase 1. Jul 2002 12:58

Moin Luckie,

das sind Stringlisten.
Jeder String ist nullterminiert, die gesamte Liste dann mit einer doppelten Null, so wie z.B. die Datei/Verzeichnislisten bei SHFileOperation.
(Bei Unicodestrings entsprechend die doppelte Anzahl von Nullen)
In RegEdit wird dieser Typ als REG_MULTI_SZ angezeigt.
Lesen kann man diesen meist mit TRegistry.ReadBinary, nur schreiben nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr.
Seite 2 von 3     12 3      

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