Est-il possible de définir le mode de compatibilité Windows d'une application à l'exécution?

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

  •  19-09-2019
  •  | 
  •  

Question

Nous utilisons une bibliothèque 3ème partie qui parfois ne fonctionne pas correctement sur Win7. Nous savons comment configurer ce au moment de l'installation, mais nous aimerions aussi envisager de le mettre au moment de l'exécution. Est-ce possible, ou est-ce contexte doivent être mis en avant le lancement? (Je pense qu'il ya une mince à aucun hasard, mais pensé que je demanderais quand même)

(application C ++ - pas que ça compte vraiment)

Était-ce utile?

La solution

Les paramètres de compatibilité ne peuvent pas être modifiés une fois l'application en cours d'exécution.

Cependant, ce que vous pouvez faire est d'avoir un lanceur d'application qui fait que les paramètres de compatibilité sont corrects et lance ensuite votre application. Bien sûr, vous devez vous assurer que l'application de lancement n'a pas de problèmes de compatibilité.

Autres conseils

Les paramètres de compatibilité sont des macros simplement préprocesseur qui bloquent les parties de l'API Win32 dans les fichiers d'en-tête qui ne sont pas disponibles sur la plate-forme sélectionnée.

Cependant parce que l'API ensemble est fourni par DLL, vous pouvez déterminer quel système d'exploitation est en cours à l'exécution, puis obtenir les points d'entrée spécifiques de la plate-forme nécessaire à l'aide de LoadLibrary et GetProcAddress .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top