¿Es posible establecer el modo de compatibilidad de Windows de una aplicación en tiempo de ejecución?

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

  •  19-09-2019
  •  | 
  •  

Pregunta

Estamos utilizando una biblioteca de 3 ª parte que a veces no funciona correctamente en Win7. Sabemos cómo configurar esto en el momento de la instalación, pero también nos gustaría considerar el establecimiento en tiempo de ejecución. ¿Es esto posible, o no ese contexto hay que marcar antes del lanzamiento? (Creo que hay una oportunidad casi nulas, pero pensé que le pregunte de todos modos)

(C ++ aplicación - No es que realmente importa)

¿Fue útil?

Solución

La configuración de compatibilidad no se pueden cambiar una vez que se ejecuta la aplicación.

Sin embargo, lo que podría hacer es tener un lanzador de aplicaciones que se asegura la configuración de compatibilidad son correctos y luego lanza su aplicación. Por supuesto, es necesario asegurarse de que el lanzador de aplicaciones no tiene problemas de compatibilidad.

Otros consejos

Los valores de compatibilidad son meramente macros del preprocesador que bloquean partes de la API de Win32 en los ficheros de cabecera que no están disponibles en la plataforma seleccionada.

Sin embargo, porque todo el API es proporcionada por DLL puede determinar qué sistema operativo se ejecuta en tiempo de ejecución y luego los puntos de entrada específicos de la plataforma necesaria utilizando LoadLibrary y GetProcAddress .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top