![]() |
Re: %programfiles% unter Windows 7 x64
Welche Delphi-Version nutzt du eigentlich?
bei den Neueren kann man in den Projektoptionen die PE-Flags setzen |
Re: %programfiles% unter Windows 7 x64
- Delphi 2009 Update 3
bds.exe starte ich immer mit Admin rechten damit ich überhaupt debuggen kann und somit wird das kompilierte programm ebenfalls mit admin-rechten gesatrtet. auch ein manuelles ausführen der kompilierten .exe mit admin rechten liefert das selbe ergebnis edit: was muss ich da denn nun genau setzen? zwischen C und Delphi sind ja doch nen paar unterschiede |
Re: %programfiles% unter Windows 7 x64
Zum Debuggen braucht man keine Adminrechte.
|
Re: %programfiles% unter Windows 7 x64
dann hast du wohl noch nie unter NT6 x64 versucht zu debuggen
edit: wenn ich bei den projekt-optionen "Zusätzliche PE-Header Flags setzen" auf 0501 bzw 501 setze funzt es trotzdem nicht |
AW: %programfiles% unter Windows 7 x64
Auch wenn die Frage schon älter ist, werden sicherlich einige noch noch der Lösung suchen (und auf diesen Thread stoßen). Deshalb hier eine einfache Lösung:
Delphi-Quellcode:
Tschuldigung für den furchtbaren Code, aber hauptsache es klappt erstmal unter Delphi.RegReadString64(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion','ProgramFilesDir',''); function RegReadString64(MainKey:HKey; SubKey,ValueName,sDefault:string):string; const KEY_WOW64_64KEY = $0100; var DType: Integer; BSize: Integer; Key:HKey; a2,a:array[0..MAX_PATH]of char; p:PChar; begin result:=sDefault; DType := REG_SZ; BSize:=sizeof(a); p:=a; if RegOpenKeyEx(MainKey, PChar(SubKey), 0, KEY_READ or KEY_WOW64_64KEY , Key)<>ERROR_SUCCESS then exit; if RegQueryValueEx(key,PChar(ValueName),nil,@DType, PByte(p), @BSize) <> ERROR_SUCCESS then begin RegCloseKey(Key); exit; end; RegCloseKey(Key); a[BSize]:=#0; //sonst Fehler beim lesen von '' if DType=REG_EXPAND_SZ then if ExpandEnvironmentStrings(a,a2,sizeof(a2))>0 then StrCopy(a,a2); result:=StrPas(a); end; Anmerkung: Der Code klappt erst ab Win7, siehe ![]() Either KEY_WOW64_32KEY or KEY_WOW64_64KEY can be specified. If both flags are specified, the function fails with ERROR_INVALID_PARAMETER. Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: If both flags are specified, the function’s behavior is undefined. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 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