![]() |
Unter 64Bit Windows in die Registry schreiben
Jemand hat jetzt mal meinen Usermanager unter 64-Bit Windows ausporbiert und musste feststellen, dass alles, was mit der Registry zu tun hat nicht mehr funktioniert. Ich gehe davon aus, dass es am
![]() |
Re: Unter 64Bit Windows in die Registry schreiben
Hallo Luckie,
da mich das Thema 64/32 Bit auch sehr interessiert, habe ich mal angefangen zu stöbern. Es scheint wohl wirklich keinen Weg zu geben. So wie ich es verstanden habe, prüfen alle Registry-Funktionen über die ADVAPI32!IsExemptRedirectedKey, vielleicht wäre es da möglich mit einer unsauberen Lösung anzusetzen. Wieviel willst du denn schreiben/lesen? Einen Eintrag könnte man ja auch durch eine 64Bit-Exe setzen lassen... |
Re: Unter 64Bit Windows in die Registry schreiben
Es sind schon zwei, drei. Und ich muss sie ja auch auslesen. ;)
|
Re: Unter 64Bit Windows in die Registry schreiben
Zitat:
Willkommen im Club derer, die sich über den fehlenden (und anscheinend für absolut unwichtig gehaltenen) nativen 64Bit-Support erfreuen. |
Re: Unter 64Bit Windows in die Registry schreiben
Was soll mir dein Zitat jetzt sagen?
|
Re: Unter 64Bit Windows in die Registry schreiben
Vielleicht meint er, du sölltest über dieses Programm deine Schlüssel in einer Temp-Datei speichern, die du dann wie eine INI ausliest.
|
Re: Unter 64Bit Windows in die Registry schreiben
Ach du meine Güte. :wall: Ist Vista eigentlich grundsätzlich 64-Bit?
|
Re: Unter 64Bit Windows in die Registry schreiben
Ich glaub nicht, sonst wärs ja nicht auf meiner 32Bit-Maschine gelaufen :stupid:
|
Re: Unter 64Bit Windows in die Registry schreiben
Ein Lichtblick. Dann warte ich mit der 64-Bit Unterstützung bis Borland einen 64-Bit Compiler rausbringt oder ich es auf C# umschreibe in ferner, ferner Zukunft. ;)
|
Re: Unter 64Bit Windows in die Registry schreiben
Nein, Vista gibt es in 32 und 64bit...
|
Re: Unter 64Bit Windows in die Registry schreiben
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? |
Re: Unter 64Bit Windows in die Registry schreiben
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 ;) |
Re: Unter 64Bit Windows in die Registry schreiben
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:
- Weiß jemand wo da überhaupt das Problem ist?
with TRegistry.Create do
begin Rootkey := HKEY_CURRENT_USER; if OpenKey('Software\SpeziellerRechner', True) then begin Var_StayOnTop := ReadString('StayOnTop'); ... begin if Var_StayOnTop = 'on' then begin Spezieller_Software_Rechner.FormStyle := fsStayOnTop; end; ... - Gibt es diese Registry-Pfad-Struktur unter Vista überhaupt? |
Re: Unter 64Bit Windows in die Registry schreiben
Zitat:
Auf dieser Seite steht auch ein Link zu ![]() 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. |
Re: Unter 64Bit Windows in die Registry schreiben
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.
|
Re: Unter 64Bit Windows in die Registry schreiben
Zitat:
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:
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. :lol:
<?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> |
Re: Unter 64Bit Windows in die Registry schreiben
Zitat:
|
Re: Unter 64Bit Windows in die Registry schreiben
Zitat:
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. |
Re: Unter 64Bit Windows in die Registry schreiben
Zitat:
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 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