E 'possibile impostare la modalità di compatibilità di Windows di un'applicazione in fase di esecuzione?

StackOverflow https://stackoverflow.com/questions/1715626

  •  19-09-2019
  •  | 
  •  

Domanda

Stiamo usando una libreria di terze parti che a volte non funziona correttamente su Win7. Sappiamo come configurare questo al momento dell'installazione, ma vorremmo anche prendere in considerazione l'impostazione è in fase di esecuzione. Questo è possibile, o se tale contesto devono essere impostata prima del lancio? (Penso che ci sia un sottile a nessuno caso, ma pensato che sarebbe chiedere in ogni caso)

(applicazione C ++ - non che è veramente importante)

È stato utile?

Soluzione

Le impostazioni di compatibilità non possono essere modificate una volta che l'applicazione è in esecuzione.

Tuttavia, che cosa si potrebbe fare è avere un avvio delle applicazioni che consente di verificare le impostazioni di compatibilità siano corrette e poi lancia l'applicazione. Naturalmente, è necessario assicurarsi che l'avvio delle applicazioni non ha problemi di compatibilità.

Altri suggerimenti

Le impostazioni di compatibilità sono macro soltanto preprocessore che bloccano le parti di Win32 nei file di intestazione che non sono disponibili sulla piattaforma selezionata.

Tuttavia, poiché l'intera API è fornita da DLL è possibile determinare quale sistema operativo è in esecuzione in fase di esecuzione e quindi ottenere i punti di ingresso specifici necessari piattaforma utilizzando LoadLibrary e GetProcAddress .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top