Hoy en día, muchas PC se envían con pantallas de muy alta resolución, incluso si el factor de forma de la PC es más pequeño, por ejemplo, un Ultrabook o una tableta. O puede tener un monitor de escritorio con resolución 4K. Con tales resoluciones, Windows activa automáticamente la escala de DPI para que todo en su pantalla se vuelva más grande. Sin embargo, hay algunas aplicaciones de terceros que no se procesan correctamente en pantallas de DPI alto. Parecen demasiado pequeños para la resolución de pantalla. Veamos cómo solucionarlos si Windows 8.1 o Windows 10 no los escala correctamente.
Por lo general, estas aplicaciones se escribieron antes de que aparecieran las pantallas de DPI alto y no se actualizaron correctamente para admitir DPI altos. Aparecen demasiado pequeñas en la pantalla con fuentes imposibles de leer y no se escalan correctamente. A menudo, los botones están fuera de lugar o son demasiado pequeños para hacer clic en aplicaciones antiguas que no se han actualizado para pantallas de alto DPI. Windows normalmente escala todas las aplicaciones automáticamente usando la escala de estilo XP, así como la virtualización de DPI para aquellas aplicaciones que no le dicen a Windows que son conscientes de DPI. Sin embargo, hay algunas aplicaciones que le mienten a Windows que son conscientes de un alto DPI incluso si no lo son, por lo que Windows no las escala. Estas aplicaciones se procesan incorrectamente en resoluciones Full HD o 4K.
Para solucionarlos, se puede hacer un truco que obliga a Windows a escalar la aplicación utilizando la virtualización de DPI. Sin embargo, según mis pruebas, solo se puede hacer de forma segura en Windows 8.1 y Windows 10. El procedimiento es largo y un poco complejo para usuarios novatos, pero no hay una GUI rápida en Windows para forzar la virtualización DPI para una aplicación específica. Hacer el ajuste del Registro involucrado en este ajuste en Windows 7 o Windows 8.0 provocó algunos comportamientos extraños y efectos secundarios como la desaparición de los iconos de la bandeja del sistema, así que hágalo bajo su propio riesgo si ejecuta estos sistemas operativos. Si está ejecutando Windows 8.1 o Windows 10, continúe con estas instrucciones.
Anuncio
- Cree un archivo de texto en blanco desde el menú Nuevo haciendo clic derecho en cualquier lugar, p. Ej. en el escritorio o en una carpeta. El archivo de texto debe tener el nombre del programa EXE, que se muestra demasiado pequeño, seguido del texto '.manifest'. Por ejemplo, si el nombre del programa que usa que parece pequeño es SearchTool.exe, el archivo de texto que cree debe llamarse 'SearchTool.exe.manifest'. Si no conoce el nombre de EXE, haga clic con el botón derecho en la barra de tareas y abra el Administrador de tareas mientras se ejecuta esa aplicación. Seleccione la aplicación, haga clic con el botón derecho y haga clic en Ir a Detalles. En la pestaña Detalles, se mostrará el nombre de EXE. Luego, puede crear el archivo de texto con el nombre apropiado. p.ej. Processname.exe.manifest.
- Descargue e instale el programa Resource Hacker gratuito desde aquí: http://www.angusj.com/resourcehacker/ . Es una herramienta de edición de recursos. La razón por la que lo necesitamos es porque el manifiesto de la aplicación a veces se almacena dentro de un archivo EXE y Windows prefiere este manifiesto interno de la aplicación de forma predeterminada. No queremos ignorar el manifiesto interno de la aplicación por completo si existe, es decir, si el desarrollador de la aplicación lo ha agregado porque, además de la escala de DPI, contiene otra información importante sobre la configuración en paralelo de la aplicación y la elevación de UAC.
- Inicie Resource Hacker y abra el archivo EXE de la aplicación, que se ve increíblemente pequeño en su pantalla de alta resolución.
- El recurso de manifiesto del programa (EXE) generalmente se almacena como tipo de recurso 24. Compruebe si este recurso 24 existe. Si no existe tal recurso # 24 dentro del EXE que abrió, cierre Resource Hacker y abra el archivo que creó en el paso 1 en el Bloc de notas y copie y pegue el siguiente texto dentro de él y luego guarde y cierre el archivo de texto:
Falso
Ahora vaya directamente al paso 9 para el caso en el que no había ningún recurso 24 dentro del EXE que abrió e hizo el paso anterior.
- Si, en cambio, existe un recurso 24 en el EXE que abrió en Resource Hacker, expanda el nodo llamado 24 -> 1 y haga clic en el elemento 1033 (es 1033 para las ediciones en inglés). Haga clic derecho en el panel derecho y haga clic en Seleccionar todo. Luego haga clic derecho en el texto seleccionado nuevamente y haga clic en Copiar y cierre Resource Hacker. No realice ningún cambio en el manifiesto interno del EXE porque el EXE puede estar firmado o comprimido digitalmente. No queremos modificar el EXE original.
- Abra el Bloc de notas, abra el archivo que creó en el paso 1 en el Bloc de notas y pegue lo que copió de Resource Hacker en el Bloc de notas y guarde este archivo desde el menú Archivo.
- En este archivo, vea si hay una sección que tenga un indicador de dpiaware establecido en Verdadero (esto significa que la aplicación afirma ser consciente de DPI si se ve pequeña en una pantalla de DPI alto):
Cierto
Si existe, cámbielo de Verdadero a Falso. Si no existe tal sección relacionada con el conocimiento de DPI en la información del manifiesto de la aplicación, agregue el bloque de texto anterior justo después de la siguiente línea en el archivo de manifiesto:
- Cambie el indicador de dpaware de Verdadero a Falso, guarde los cambios en el archivo y ciérrelo.
- Copie el archivo a la carpeta EXE. Por ejemplo, si el programa está instalado en C: Archivos de programa Contoso SearchTool.exe, copie el manifiesto en el directorio C: Archivos de programa Contoso.
- Ahora tenemos que modificar Windows para decirle que prefiera archivos de manifiesto externos a los internos incrustados dentro del EXE. Este ajuste del Registro debe realizarse * solo * para Windows 8.1 y Windows 10. Si está ejecutando Windows 7 o Windows 8.0 RTM, realizar el siguiente ajuste del Registro puede causar efectos secundarios inesperados, como la interrupción de algunas funciones del sistema o fallas de aplicaciones.
- Abra el Editor del registro (Regedit.exe) en Windows 8.1 o Windows 10. Navegue hasta la siguiente subclave del registro:
HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> Windows> CurrentVersion> SideBySide
- Haga clic con el botón derecho, seleccione NUEVO> Valor DWORD (32 bits). Asígnele un nombre: PreferExternalManifest y, a continuación, presione ENTRAR.
- Haga clic con el botón derecho en PreferExternalManifest y luego haga clic en Modificar. Ingrese los datos del valor 1. Haga clic en Aceptar. Salga del Editor del Registro.
- Ahora reinicie Windows y ejecute la aplicación para la que agregó este manifiesto.
La aplicación se debe escalar mediante la función de virtualización de DPI de Windows y ya no se verá demasiado pequeña con controles inutilizables. El texto puede verse borroso, pero eso se debe a que el desarrollador de la aplicación no actualizó la aplicación para un DPI alto. El texto ligeramente borroso es tolerable que una interfaz de usuario de tamaño pequeño e ilegible con controles diminutos.
Si la aplicación aún se está desarrollando activamente, debe comunicarse con su desarrollador para que realmente la escale correctamente a un DPI alto y no solo marque el EXE como un DPI alto. Si la aplicación ya no se mantiene, entonces no tienes suerte. Esto es tan bueno como se verá la aplicación (con texto ligeramente borroso). Sin embargo, la aplicación debería poder utilizarse ahora.