Necesito encontrarlo si el usuario está usando un tamaño de fuente ampliado 125% o 150% en win 7

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

Pregunta

¿Alguien sabe si puedo verificar este parámetro en cualquier lugar?

¿Fue útil?

Solución

Puede leer Graphics.DpiX para discernir esto.

Multiplique Graphics.DpiX por 100 y divida por 96 y obtendrá el porcentaje de escala de fuente.Esto es cierto porque el 100% de escala de fuente equivale a 96 ppp.

Tenga en cuenta que si su aplicación no está marcada como DPI consciente luego, cuando el usuario establece la escala de fuente al 150%, la propiedad DpiX reportará 96. En la parte superior de mi cabeza no sé si las aplicaciones estándar de WinForms están marcadas como DPI reconocidas.

Otros consejos

Si no está utilizando C #, debe seguir dos pasos para que esto funcione en Windows 7.

Primero, haga que su aplicación sea compatible con DPI. Este blog explica cómo hacerlo.Implica modificar el manifiesto de la aplicación o llamar al SetProcessDPIAware () (que puede existir o no).

A continuación, obtenga los valores de DPI X / Y con GetDeviceCaps(hdc, LOGPIXELSX) y GetDeviceCaps(hdc, LOGPIXELSY), respectivamente, como se explica en este artículo de MSDN .

Tengo una aplicación que antes no era consciente de los DPI, pero aún se rompía cuando se usaba con escalado de texto (como está disponible en el panel de control "Pantalla" de Windows 7), y esto la hizo funcionar, sin tener ningún efecto en Windows 8o más reciente.

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