En primer lugar, sé que hay una pregunta similarmente formulada en SO, pero no se ha respondido correctamente, y la mayor parte de la discusión estar haciendo eso ".Cómo mover de forma programable la barra de tareas de Windows (tomar dos)
Así que comencemos por lo básico. Por qué esto es necesario
Trabajo en una empresa que distribuyó unas pocas docenas de netbooks de tabletas a nuestros trabajadores. Como usted sabe, las netbooks tienen una resolución comparativamente menor, y la pantalla de bienes raíces es muy, muy importante.
Cuando rotamos los netbooks en modo tableta, los usamos para escribir, y el modo de retrato es mucho más cómodo para eso. El hecho es que cuando se gira la pantalla, la barra de tareas permanece en el mismo borde relativo que en el paisaje. Si estaba en la parte inferior, permanece en la parte inferior en el retrato. Pero como ya lo usamos en el borde izquierdo del paisaje, terminamos con la barra de tareas ocupando un porcentaje muy notable de la pantalla disponible.
Ya tengo la estructura establecida para escuchar los eventos de cambios de resolución, y está funcionando correctamente, pero todas las muestras que he visto con respecto a pasar mensajes a la ventana de la barra de tareas no pueden moverla. Es como si lo ignoraran por la fuerza.
¿Hay alguna manera de lograr esto? Actualmente estoy usando C#, pero ese no es un requisito definitivo, puedo lograr fácilmente la conversión de C++ o vb, y p/invocaciones no son de miedo.
El sistema operativo es Windows 7.
[Editar: He intentado ya SHAppBarMessage, con SETPOS, no funciona en Windows 7. He tratado MoveWindow y SetWindowPos pinvokes, también no funcionan en Windows 7 en la barra de tareas. Para otras ventanas funciona bien. Y estoy seguro de que tengo el control correcto, porque si uso ShowWindow Pinvoke para ocultarlo, realmente se esconde, aunque no puedo recuperar el espacio no utilizado para nada más. Estos métodos funcionaba en XP, es por eso que es tan frustrante.]
Gracias mucho por su tiempo, Joao Correia
lo siento por la descarada/bache, pero todavía estoy perplejo por esto. Incluso estoy considerando un enfoque diferente. Oculto totalmente la barra de tareas después de detectar la rotación, y la vuelvo a mostrar cuando gire hacia atrás. PERO. Aunque puedo ocultar la barra de tareas y el botón de inicio "orbe", no puedo reclamar el espacio para el área del escritorio. Siempre cuenta la barra de tareas como presente y no permite que las ventanas se maximicen en el espacio. –
Hola, solo quería que sepas que se puede hacer, publiqué una solución por lotes y vbscript, así que C# también debe ser posible, mira http://stackoverflow.com/questions/12435503/change-windows-7- taskbar-location-automatically-based-on-screen-shape-or-on-dock/14370485 # 14370485 – peter