AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Unter 64Bit Windows in die Registry schreiben

Unter 64Bit Windows in die Registry schreiben

Ein Thema von Luckie · begonnen am 24. Jul 2006 · letzter Beitrag vom 21. Aug 2006
Antwort Antwort
Seite 2 von 2     12
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#11

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 25. Jul 2006, 15:11
Hi,

mal eine Frage, könnte man nicht z.B. mit VS2k5 eine 64Bit Dll erstellen und diese für die Lese und Schreibzugriffe nutzen?
Daniel M.
"The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore."
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#12

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 25. Jul 2006, 15:59
Wenn man diese aus einem 32Bit Prozess laden könnte, ja. Geht aber meines Wissens nicht.
Man müsste einen extra- 64Bit - Prozess starten, der dieses erledigt, womit wir wieder bei der extra-Exe wären.

@Luckie, sorry, ja war so gemeint
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 20. Aug 2006, 16:09
Hallo zusammen,
ich habe mal bei einer 32 Bit Vista Version meinen Software Rechner testen lassen.
Ohje, auch in der 32 Bit Version konnte nicht in die Registry gelesen/abgespeichert werden...
(der Tester war dabei als Admin angemeldet)
Leider habe ich kein Vista zum testen.

Ich verwende folgenden Source:
Delphi-Quellcode:
  with TRegistry.Create do
  begin
      Rootkey := HKEY_CURRENT_USER;
      if
        OpenKey('Software\SpeziellerRechner', True) then
      begin
        Var_StayOnTop := ReadString('StayOnTop');
        ...

        begin
          if Var_StayOnTop = 'onthen
          begin
            Spezieller_Software_Rechner.FormStyle := fsStayOnTop;
          end;
        ...
- Weiß jemand wo da überhaupt das Problem ist?
- Gibt es diese Registry-Pfad-Struktur unter Vista überhaupt?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#14

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 21. Aug 2006, 09:00
Zitat von Luckie:
Ich gehe davon aus, dass es am Registry Redirector liegt.
Ja.
Auf dieser Seite steht auch ein Link zu Accessing an Alternate Registry View.

Aber mach dich auf Überraschungen gefasst und erwarte das Unerwartete Windows XP Professional x64 Edition unterstützt, abgesehen von vordefinierten Pfaden, keine Registry Reflection. WoW64 hat in der aktuellen Implementation einige Fallstricke, über die man bei größeren Projekten unweigerlich stolpert. Patches/Updates haben in der Vergangenheit oft dazu geführt, dass einige unerwünschte Verhaltensweisen plötzlich nicht mehr auftraten und dafür andere Probleme auftauchten. Vielleicht wird es mit SP2 oder Vista besser, aber bisher kann man die Entwicklung unter WoW64 getrost als Strafarbeit bezeichnen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 21. Aug 2006, 09:06
Deswegen habe ich mir ja auch gesagt, dass ich mich mit der 64-Bit Unterstützung erst auseinandersetze, wenn Borland bzw. das neue IDE team einen 64-Bit Compiler zur Verfügung stellt. Alles andere hat wohl keinen Sinn.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#16

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 21. Aug 2006, 09:13
Zitat von juergen:
32 Bit Vista [...] Ohje, auch in der 32 Bit Version konnte nicht in die Registry gelesen/abgespeichert werden...
Das dürfte vermutlich mit der UAC zu tun haben. Auch wenn du als Admin angemeldet bist, arbeitest du mit reduzierten Rechten.

Da Luckie ein Update der Tutorials plant, ließ ich in den letzten Tagen mal alle Samples unter Vista laufen und musste ein paar kleine Anpassungen vornehmen. Bei der ControlPanel-Demo (Systemsteuerung) lief mein Registrierungstool zwar, aber es passierte nichts; sprich: die CPL-Module wurden nicht registriert. Wenn ich das Programm per Kontextmenü als Admin starten lasse, dann klappt es. Du siehst also, grundsätzlich sollte es laufen, wenn du nicht gerade exotische Sachen nutzt, die es so in Vista vllt. nicht mehr gibt.

Für mein Sample nutze ich inzwischen folgendes (XP-)Manifest als interne Ressource
XML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
   version = "2.2.0.0"
   processorArchitecture = "x86"
    name = "Win32-API-Tutorials.RegisterCPL.Sample"
   type = "win32"/>
<description>RegisterCPL Tool</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
   <security>
      <requestedPrivileges>
         <requestedExecutionLevel
            level = "requireAdministrator"
            uiAccess = "false"/>
      </requestedPrivileges>
   </security>
</trustInfo>
</assembly>
Startest du das Programm jetzt, erscheint eine Sicherheitswarnung, weil Vista bemerkt, dass ich Admin-Rechte anfordere. Aber das ist gewollt und in Ordnung, und es geht also auch ohne das Kontextmenü. Wäre das Programm noch signiert, sähe der Warndialog auch nicht ganz so bedrohlich aus.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#17

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 21. Aug 2006, 09:13
Zitat von Luckie:
Deswegen habe ich mir ja auch gesagt, dass ich mich mit der 64-Bit Unterstützung erst auseinandersetze, wenn Borland bzw. das neue IDE team einen 64-Bit Compiler zur Verfügung stellt.
Nunja, ich warte schon seit Jahren auf Unicode- und x64-Support... leidiges Thema.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 21. Aug 2006, 09:19
Zitat von NicoDE:
Nunja, ich warte schon seit Jahren auf Unicode- und x64-Support... leidiges Thema.
Komisch
Unsere große Delphi-Anwendung kann Unicode sogar unter Win95. Wo liegt (jedenfalls hier) das Problem.
Borland hat auf jedenfall die Grundarbeit geleistet und "nur" die GUI-Komponenten vergessen.
Wenn man nicht auf die von Borland mitgelieferten Komponenten fixiert ist ist Unicode "kein" Problem.

Und ich hoffe das Borland hier nichts mehr macht. Besser einen 64-Bit native Compiler dann hat man auch zwangsweise eine 64-Bit VCL (mit Unicode-Support da es die ANSI-Versionen der Win-API für eine 64-Bit-Anwendung nicht gibt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#19

Re: Unter 64Bit Windows in die Registry schreiben

  Alt 21. Aug 2006, 09:28
Zitat von Bernhard Geyer:
Wo liegt (jedenfalls hier) das Problem.
Dass Unicode mit Delphi möglich ist, ist wohl unumstritten.
Ich hätte mir gewünscht, dass es (wie bei DEBUG) ein eigenes Lib-Verzeichnis gibt. Ebenso wäre es hilfreich gewesen, neben AnsiString und WideString einen Typ 'TextString' einzuführen (und konsistent zu verwenden)...
Wie auch immer, der native x64-Support ist ohne Delphi für Win64 nur über andere Entwicklungsumgebungen realisierbar.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:13 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