Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Kompatibiliätsmodus für Datei anlegen (https://www.delphipraxis.net/172909-kompatibiliaetsmodus-fuer-datei-anlegen.html)

Codewalker 28. Jan 2013 15:21

Kompatibiliätsmodus für Datei anlegen
 
Ich muss für ein Programm unter Windows 8 entweder per Delphi oder per InnoSetup für eine Exe-Datei den Windows-7-Kompatibilitätsmodus aktivieren. Ich weiß, wie ich das übers Kontextmenü mache, aber hat jemand eine Idee wie man das per Code macht bzw. wo diese Info hinterlegt wird?

Morphie 28. Jan 2013 15:32

AW: Kompatibiliätsmodus für Datei anlegen
 
Gespeichert werden die Infos unter "C:\Windows\apppatch\sysmain.sdb"

Vielleicht hilft dir folgender Link weiter:
http://www.microsoft.com/germany/tec...es/455976.mspx

jaenicke 28. Jan 2013 16:04

AW: Kompatibiliätsmodus für Datei anlegen
 
Das geht zumindest unter Windows 7 unter:
Code:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags
Um ein Programm als Admin auszuführen muss man z.B. dort unter Layers den Namen der Exe inkl. Pfad als String anlegen und in den Wert RUNASADMIN schreiben.
Ich vermute an der Stelle lässt sich auch die Windowsversion faken.

Die sysmain.sdb ist AFAIK für vorkonfigurierte Kompatibilitätseinstellungen da, nicht für selbst angewendete, oder?

Morphie 28. Jan 2013 18:28

AW: Kompatibiliätsmodus für Datei anlegen
 
Weiß ich nicht genau, ich habe das ganze nur mal mit dem ProcessMonitor überprüft, und da sieht man, dass Windows in genau diese Datei schreibt, wenn man irgendein Flag (z.B. Windows XP Kompatibilität o.ä.) setzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 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