Windows 10 mostra tutte le impostazioni di compatibilità dell'applicazione attive per l'esecuzione del programma


0

Oltre alla manciata di impostazioni di compatibilità delle applicazioni configurabili disponibili nella scheda Compatibilità, ce ne sono un sacco e Windows ha un motore che rileva e ne applica automaticamente parecchi, senza che l'utente lo veda mai dietro le quinte. So che puoi utilizzare Application Compatibility Toolkit per impostarli manualmente ma, prima di armeggiare con quelli, c'è un modo per leggere / visualizzare quali impostazioni di compatibilità Windows sta attualmente utilizzando per un programma specifico? Questo è un lavoro esplorativo per migliorare le prestazioni / la visualizzazione di un vecchio programma a 32 bit e non (ancora) qualsiasi cosa su cui posso mettere un dito o qualcosa di specifico che è completamente rotto. So che ci sono diversi livelli di compatibilità delle applicazioni in atto. Voglio essere in grado di visualizzare tutte / le impostazioni di compatibilità totale in vigore per il programma specifico. Non ho bisogno di codice ecc., se ho bisogno di programmare posso farlo da solo. ho solo bisogno di sapere dove cercare per ottenere TUTTE le impostazioni di compatibilità dell'applicazione in vigore per il programma.

Esecuzione di Win10 pro 64 bit.

Risposte:


1

Consiglio vivamente di installare Windows Assessment and Deployment Kit. Questa è la nuova versione di Application Compatibility Toolkit (e non è necessario utilizzare SQL!). In questo modo sarai in grado di vedere quali impostazioni sono applicate a quali applicazioni.

Ti permette di vedere il database di compatibilità e cercare il tuo exe se è incluso nell'elenco di programmi noti con compatibilità. Inoltre, consente di applicare una gamma più ampia di opzioni di compatibilità rispetto alle opzioni integrate di Windows 10.

Puoi anche visualizzare le impostazioni applicate nel registro:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Puoi anche vedere le impostazioni applicate a un'applicazione nel toolkit, tuttavia a volte questo può essere meno dettagliato del registro.

Per vedere quali flag vengono applicati a un'applicazione in esecuzione, è possibile utilizzare uno strumento come l'hacker di processo per visualizzare la __COMPAT_LAYERvariabile di ambiente che mostra le impostazioni attualmente applicate.


ACT mostra davvero tutte le impostazioni? Nel registro sono abbastanza sicuro che solo alcune cose sono mostrate lì e non tutte le impostazioni che si applicano quando si esegue il programma. Il motore di compatibilità esegue alcuni controlli ogni volta che si esegue il prog, rileva manifest e sovrascrive le impostazioni del registro e applica elementi specifici della versione di Windows. Voglio davvero vedere tutte le impostazioni di compatibilità in vigore e non un sottoinsieme. ACT lo farà?
chris,

Ho aggiornato la mia risposta. Ho provato l'ACT, ma sembra che stia ancora omettendo le cose. Ho dato un'occhiata alla __COMPAT_LAYERvariabile d'ambiente impostata nel contesto dei processi, sembra fornire un elenco di livelli che vengono applicati all'applicazione.
mt025

molte grazie. penso che __COMPAT_LAYER nel processo hacker sarà la scelta giusta.
chris,

Se qualcuno ha mai bisogno di un processo per non avere diverse impostazioni di compatibilità aggiunte al registro e ricreate ogni volta che le elimini .... elimina le voci e disabilita il servizio di compatibilità delle applicazioni. Esiste almeno un altro modo per impostare flag di compatibilità, tramite un file manifest. Come tutto ciò che riguarda la SM, una cosa semplice è un casino complesso.
chris
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.