FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
barra de tareas
Hola, me gustaría saber cómo modificar la propiedad de la barra de tareas "Mantener la barra de tares siempre visible" mediante código. He buscado y no encuentro nada. Si alguien supiera la solución se lo agradecería.
Saludos. |
#2
|
||||
|
||||
Hola,
Yo no se del tema, pero de chismoso he buscado y encontré: http://www.clubdelphi.com/foros/show...96&postcount=6 http://www.chami.com/tips/delphi/073198D.html http://support.microsoft.com/kb/143117 http://dn.codegear.com/article/26977 http://www.experts-exchange.com/Prog..._10225583.html
__________________
"constructive mind, destructive thoughts" Última edición por TOPX fecha: 22-10-2008 a las 21:34:53. Razón: Quitar cita de experts-exchange ... |
#3
|
||||
|
||||
Je, je, no recordaba cómo obtener el identificador de la barra. Con esa información, podemos usar este procedimiento:
// Saludos |
#4
|
|||
|
|||
Gracias
Gracias por responder ante todo.
La solución de TOPX oculta o muestra la barra de tareas pero no cambia la propiedad "mantener siempre visible". La solución de roman es justo lo que estaba buscando, aunque no me funciona del todo bien. Si le indico que deshabilite la opcion "mantener siempre visible" sí funciona, pero en cambio cuando quiero habilitarla no funciona, sino que me activa la propiedad "ocultar automáticamente". No sé cual será el motivo, seguiré investigando y muchas gracias por la ayuda. |
#5
|
||||
|
||||
luis1980,
La cita que puse al final no era la solución ... lo importante eran los links que daban una idea de "encontrar" la barra y "obtener" su 'auto hide'. Y que de hecho complementó magistralmente Roman.
__________________
"constructive mind, destructive thoughts" |
#6
|
||||
|
||||
Cita:
// Saludos |
#7
|
|||
|
|||
Solucionado
Ya está solucionado, era culpa mia perdón, sólo era un pequeño error al pasarlo a c++.
Muchas gracias a los dos. |
#8
|
||||
|
||||
No me había fijado que estábamos en el foro de C++; pido disculpas. ¿Podrías poner aquí la traducción a C, a fin de que otros puedan beneficiarse?
// Saludos |
#9
|
|||
|
|||
Solución en c++
Es algo menos elegante pero funciona. La variable state representa las propiedades de la barra de tareas "Mantener siempre visible" y "Ocultar automáticamente", según el valor de esta variable puedes activar o desactivar una, otra, o las dos. En este ejemplo sólo variamos el valor de "siempre visible", dejando como esté "ocultar automáticamente".
void SetTaskBarAlwaysOnTop() { /* 0-> NINGUNA; 1-> AUTOHIDE ; 2 -> ALWAYSONTOP ; 3-> AUTOHIDE Y ALWAYSONTOP.*/ int state; TAppBarData data; data.cbSize = sizeof(TAppBarData); state = SHAppBarMessage(ABM_GETSTATE,&data); if (state == 0) state = 2; else if (state == 1) state = 3; else if (state == 2) state = 0; else if (state == 3) state = 1; data.hWnd = FindWindow("Shell_TrayWnd",0); data.lParam = state; SHAppBarMessage(ABM_SETSTATE,&data); } |
#10
|
||||
|
||||
Los equivalentes en C a los operadores and, or y not de pascal son &, | y !. El código que tienes puedes ponerlo así:
Código:
if ((state & ABS_ALWAYSONTOP) != 0) { state = state & !ABS_ALWAYSONTOP; } else { state = state | ABS_ALWAYSONTOP; } |
#11
|
|||
|
|||
Así no me funciona
De esa manera que dices, roman, no me funciona del todo correctamente, porque cuando tengo activa la opción "ocultar automáticamente la barra de tareas", si ejecuto la función me desactiva esa propiedad junto con la de "Mantener siempre visible", y yo sólo quiero modificar "Mantener siempre visible", y dejar las demás propiedades como estén en ese momento.
Por eso al final usé las variables numéricas, aunque la verdad que es algo más cutre, pero bueno. Muchas gracias. |
#12
|
||||
|
||||
Lo que pasa es que estaba yo equivocado. La negación bit a bit en C no es con ! (negación lógica) sino con ~. Entonces debería quedar así:
Código:
if ((state & ABS_ALWAYSONTOP) != 0) { state = state & ~ABS_ALWAYSONTOP; } else { state = state | ABS_ALWAYSONTOP; } |
#13
|
|||
|
|||
Funciona!!!
Así sí que funciona perfectamente roman, muchísimas gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Barra de Tareas | chalys | Varios | 3 | 03-10-2008 16:56:53 |
No en la Barra de Tareas | D-MO | Varios | 4 | 13-10-2005 01:55:18 |
Barra de tareas | Esau | Varios | 5 | 17-02-2005 21:47:16 |
barra de tareas | agora18 | Varios | 1 | 17-02-2004 03:01:39 |
Barra de Tareas | frankmch | Varios | 3 | 04-09-2003 16:58:16 |
|