multiple monitors - ver - ¿Qué determina el monitor en el que mi aplicación se ejecuta?
usar tablet como segundo monitor por usb (11)
Así que estoy de acuerdo en que hay algunas aplicaciones que puede configurar para abrir en una pantalla maximizando o haciendo clic con el botón derecho y moviendo / dimensionando la pantalla, luego cierre y vuelva a abrir. Sin embargo, hay otros que solo se abrirán en la pantalla principal.
Lo que he hecho para resolver: configure el monitor que prefiere aplicaciones obstinadas para abrir, como monitor 1 y su otro monitor como 2, luego cambie su monitor 2 para que sea el principal, de modo que permanezcan la configuración de escritorio y la barra de inicio. Espero que esto ayude.
Estoy usando Windows, y tengo dos monitores.
Algunas aplicaciones siempre se iniciarán en mi monitor principal, sin importar dónde estaban cuando las cerré.
Otros siempre comenzarán en el monitor secundario , sin importar dónde estaban cuando los cerré.
¿Hay una configuración de registro enterrada en alguna parte, que puedo manipular para controlar qué aplicaciones de monitor se inician de forma predeterminada?
@rp: Tengo Ultramon, y estoy de acuerdo en que es indispensable, al punto que Microsoft debería comprarlo e incorporarlo en su sistema operativo. Pero como dijiste, no te permite controlar el monitor predeterminado en el que se inicia un programa.
Entonces tuve este problema con Adobe Reader 9.0. De alguna manera, el programa se olvidó de abrir en mi monitor derecho y se abrió constantemente en mi monitor izquierdo. La mayoría de los programas le permiten arrastrarlo, maximizar la pantalla, y luego cerrarlo y recordarlo. Bueno, con Adobe, tuve que arrastrarlo y luego cerrarlo antes de maximizarlo, para que Windows recuerde en qué pantalla abrirlo la próxima vez. Una vez que lo configura en el monitor correcto, puede maximizarlo. Creo que esto es estúpido, ya que casi todos los programas de Windows lo recuerdan de manera automática sin tratar de improvisar una forma de recordar XP.
Esto es lo que he encontrado. Si desea que una aplicación se abra en su monitor secundario de forma predeterminada, haga lo siguiente:
1. Open the application.
2. Re-size the window so that it is not maximized or minimized.
3. Move the window to the monitor you want it to open on by default.
4. Close the application. Do not re-size prior to closing.
5. Open the application.
It should open on the monitor you just moved it to and closed it on.
6. Maximize the window.
La aplicación ahora se abrirá en este monitor por defecto. Si desea cambiarlo a otro monitor, simplemente siga los pasos 1-6 nuevamente.
Estoy bastante seguro de que el monitor principal es el predeterminado. Si la aplicación se codificó decentemente, cuando está cerrada, recordará dónde estaba por última vez y volverá a abrir allí, pero, como habrás notado, no es un comportamiento predeterminado.
EDITAR: La forma en que generalmente lo hago es tener la ubicación almacenada en la configuración de la aplicación. En carga, si no hay ningún valor para ellos, el valor predeterminado es el centro de la pantalla. Al cerrar el formulario, registra su posición. De esta forma, cada vez que se abre, está donde estaba por última vez. Sin embargo, no conozco una forma simple de decirle que se lance automáticamente al segundo monitor la primera vez.
- Kevin Fairchild
Haga clic derecho en el acceso directo y seleccione propiedades. Asegúrese de estar en la pestaña "Acceso directo". Seleccione el cuadro desplegable EJECUTAR y cámbielo a Maximizado.
Esto puede ayudar a iniciar el programa en pantalla completa en el monitor principal.
Me di cuenta de que si pongo un acceso directo en mi escritorio en una pantalla, la aplicación iniciada puede aparecer en esa pantalla ( si esa aplicación no se reposiciona).
Esto también se aplica a las cosas que se ejecutan desde el Explorador de Windows: si el Explorador está en una pantalla, la aplicación iniciada elegirá ese monitor para usar.
De nuevo, creo que es cuando la aplicación de lanzamiento especifica la posición predeterminada (Windows administrado). La mayoría de las aplicaciones parecen anular este comportamiento predeterminado de alguna manera.
Una ventana simple creada así lo hará:
hWnd = CreateWindow (windowClass, windowTitle, WS_VISIBLE | WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, SW_SHOW, CW_USEDEFAULT, 0, NULL, NULL, hInst, NULL);
No es exactamente la respuesta a esta pregunta, pero resolví este problema con el atajo de las Shift + Win + [left,right] arrow keys
. Puede mover la ventana actualmente activa a otro monitor con ella.
No me detenga a esto, pero estoy bastante seguro de que depende de la aplicación en sí. Sé que muchos siempre se abren en el monitor principal, algunos volverán a abrirse en el mismo monitor en el que se ejecutaron anteriormente y otros se pueden configurar. Sé por ejemplo que tengo accesos directos para abrir ventanas de comandos a directorios particulares, y cada uno tiene una opción en sus propiedades para abrir la ventana. Mientras que Outlook simplemente recuerda y abre en la última pantalla, se abrió. Luego, otras aplicaciones abrir en cualquier ventana donde esté el enfoque actual.
Así que no estoy seguro de que haya una manera de decirle a cada programa dónde abrir. Espero que ayude a algunos.
Nota importante: si recuerda la posición de su aplicación y el apagado y luego vuelve a comenzar en esa posición, tenga en cuenta que la configuración del monitor del usuario puede haber cambiado mientras su aplicación estaba cerrada.
Los usuarios de computadoras portátiles, por ejemplo, frecuentemente cambian su configuración de visualización. Cuando está acoplado, puede haber un segundo monitor que desaparece cuando está desacoplado. Si el usuario cierra una aplicación que se estaba ejecutando en el segundo monitor y vuelve a abrir la aplicación cuando se desconecta el monitor, restaurar la ventana a las coordenadas anteriores lo dejará completamente fuera de la pantalla.
Para averiguar qué tan grande es realmente la pantalla, consulte GetSystemMetrics.
Obtén UltraMon. Con rapidez.
http://realtimesoft.com/ultramon/
No le permite especificar en qué monitor se inicia una aplicación, pero le permite mover una aplicación al otro monitor y mantener intacta su relación de aspecto con un clic del mouse. Es una utilidad muy útil.
La mayoría de los programas comenzarán donde los dejó por última vez. Entonces, si tiene dos monitores en el trabajo, pero solo uno en casa, es posible iniciar su computadora portátil en el hogar y no ver las aplicaciones que se ejecutan en el otro monitor (que ahora no está allí). UltrMon también le permite mover esas aplicaciones huérfanas a la pantalla principal de forma rápida y fácil.
Las aplicaciones de Windows correctamente escritas que quieran guardar su ubicación de ejecución a ejecución guardarán los resultados de GetWindowPlacement()
antes de apagarse, luego usarán SetWindowPlacement()
al inicio para restaurar su posición.
Con frecuencia, las aplicaciones almacenarán los resultados de GetWindowPlacement()
en el registro como REG_BINARY
para facilitar su uso.
La ruta WINDOWPLACEMENT
tiene muchas ventajas sobre otros métodos:
- Maneja el caso donde la resolución de la pantalla cambió desde la última ejecución:
SetWindowPlacement()
se asegurará automáticamente de que la ventana no sea completamente fuera de pantalla - Guarda el estado (minimizado / maximizado) pero también guarda el tamaño y la posición restaurados (normales)
- Maneja las métricas de escritorio correctamente, compensando la posición de la barra de tareas, etc. (es decir, usa "coordenadas de área de trabajo" en lugar de "coordenadas de pantalla"; las técnicas que dependen de guardar coordenadas de pantalla pueden sufrir el problema de "ventanas peatonales" donde siempre aparecerá una ventana un poco más bajo cada vez que el usuario tenga una barra de herramientas en la parte superior de la pantalla).
Finalmente, los programas que manejan correctamente la restauración de ventanas tendrán en cuenta el parámetro nCmdShow
pasado desde el shell. Este parámetro se establece en el acceso directo que inicia la aplicación (Normal, Minimizado, Maximizar):
if(nCmdShow != SW_SHOWNORMAL)
placement.showCmd = nCmdShow; //allow shortcut to override
Para aplicaciones que no son de Win32, es importante asegurarse de que el método que está utilizando para guardar / restaurar la posición de la ventana eventualmente use la misma llamada subyacente; de lo contrario (como el problema setBounds()
/ getBounds()
Java Swing) terminará escribir una gran cantidad de código adicional para volver a implementar la funcionalidad que ya está allí en las funciones WINDOWPLACEMENT
.