Minimizar a Systray

16/01/2008 - 17:22 por Rick | Informe spam
Que tal lista!

Tal vez alguien ya ha hecho esto, dejen les explico mi idea, comunmente
tenemos N programas abiertos en nuestro escritorio y a veces se amontonan
los grupos o los programas en la barra de windows, mi idea es crear un
programa capaz de minimizar cualquier (o casi cualquier) programa al
systray de windows para poder tener mas libre la barra de windows y en
consecuencia el escritorio, pero mi problema es que no se por donde empezar,
se que tendré que meterme con la API de windows (en mi caso XP) para
detectar las ventanas o con la clase process para obtener los procesos
corriendo actualmente, quisiera saber si alguien me pudiera orientar sobre
como empezar en éste tema.


Muchas gracias por su ayuda!




Saludos Cordiales!!

e-Ricc

Preguntas similare

Leer las respuestas

#1 RFOG
16/01/2008 - 17:34 | Informe spam
Es una idea que llevo yo también en la cabeza.

No hace falta ver los procesos, con EnumWindows el sistema va
recorriendo todas las ventanas de primer nivel, de forma que puedes
tener una lista de todas ellas (ojo, también tendrás otros procesos no
visibles que no tienen ventanas).

Luego tu programa ha de tener en cuenta cada ventana o grupo de
ventanas que oculta (enviándole un mensaje SW_HIDE) y poniendo el icono
en el taskbar.

Y cuando quieras recuperar dicha ventana/s, tendrás que mirar la lista
guardada y enviarle el SW_SHOW correspondiente.

Más o menos así debería ir. Evidentemente todo son funciones/mensajes
Win32... nada .NET.

Rick formulated on miércoles :
Que tal lista!

Tal vez alguien ya ha hecho esto, dejen les explico mi idea, comunmente
tenemos N programas abiertos en nuestro escritorio y a veces se amontonan los
grupos o los programas en la barra de windows, mi idea es crear un programa
capaz de minimizar cualquier (o casi cualquier) programa al systray de
windows para poder tener mas libre la barra de windows y en consecuencia el
escritorio, pero mi problema es que no se por donde empezar, se que tendré
que meterme con la API de windows (en mi caso XP) para detectar las ventanas
o con la clase process para obtener los procesos corriendo actualmente,
quisiera saber si alguien me pudiera orientar sobre como empezar en éste
tema.

Muchas gracias por su ayuda!



Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación

La igualdad de la riqueza debe consistir en que ningún ciudadano sea
tan opulento que pueda comprar a otro, ni ninguno tan pobre que se vea
necesitado de venderse.
Respuesta Responder a este mensaje
#2 Rick
17/01/2008 - 01:27 | Informe spam
Okas con esto me basta para empezar a buscarle =)

Muchas gracias!!




"RFOG" escribió en el mensaje
news:
Es una idea que llevo yo también en la cabeza.

No hace falta ver los procesos, con EnumWindows el sistema va recorriendo
todas las ventanas de primer nivel, de forma que puedes tener una lista de
todas ellas (ojo, también tendrás otros procesos no visibles que no tienen
ventanas).

Luego tu programa ha de tener en cuenta cada ventana o grupo de ventanas
que oculta (enviándole un mensaje SW_HIDE) y poniendo el icono en el
taskbar.

Y cuando quieras recuperar dicha ventana/s, tendrás que mirar la lista
guardada y enviarle el SW_SHOW correspondiente.

Más o menos así debería ir. Evidentemente todo son funciones/mensajes
Win32... nada .NET.

Rick formulated on miércoles :
Que tal lista!

Tal vez alguien ya ha hecho esto, dejen les explico mi idea, comunmente
tenemos N programas abiertos en nuestro escritorio y a veces se amontonan
los grupos o los programas en la barra de windows, mi idea es crear un
programa capaz de minimizar cualquier (o casi cualquier) programa al
systray de windows para poder tener mas libre la barra de windows y en
consecuencia el escritorio, pero mi problema es que no se por donde
empezar, se que tendré que meterme con la API de windows (en mi caso XP)
para detectar las ventanas o con la clase process para obtener los
procesos corriendo actualmente, quisiera saber si alguien me pudiera
orientar sobre como empezar en éste tema.

Muchas gracias por su ayuda!



Microsoft Visual C++ MVP
==> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>
La igualdad de la riqueza debe consistir en que ningún ciudadano sea tan
opulento que pueda comprar a otro, ni ninguno tan pobre que se vea
necesitado de venderse.


Respuesta Responder a este mensaje
#3 RFOG
17/01/2008 - 10:11 | Informe spam
De todos modos yo usaría un acercamiento algo diferente. Instalaría un
hook global de teclado y estaría atento a dos combinaciones inusuales
de teclas; en una de ellas mandaría al systray la ventana activa, y en
la otra buscaría todas las ventanas con el mismo título (por ejemplo,
hasta el primer "-") y las mandaría todas al systray, anotando qué
mando para luego volver a sacar.

En codeproject hay varios artículos sobre cómo instalar hooks de
teclado desde C#.

Rick used his keyboard to write :
Okas con esto me basta para empezar a buscarle =)

Muchas gracias!!

"RFOG" escribió en el mensaje
news:
Es una idea que llevo yo también en la cabeza.

No hace falta ver los procesos, con EnumWindows el sistema va recorriendo
todas las ventanas de primer nivel, de forma que puedes tener una lista de
todas ellas (ojo, también tendrás otros procesos no visibles que no tienen
ventanas).

Luego tu programa ha de tener en cuenta cada ventana o grupo de ventanas
que oculta (enviándole un mensaje SW_HIDE) y poniendo el icono en el
taskbar.

Y cuando quieras recuperar dicha ventana/s, tendrás que mirar la lista
guardada y enviarle el SW_SHOW correspondiente.

Más o menos así debería ir. Evidentemente todo son funciones/mensajes
Win32... nada .NET.

Rick formulated on miércoles :
Que tal lista!

Tal vez alguien ya ha hecho esto, dejen les explico mi idea, comunmente
tenemos N programas abiertos en nuestro escritorio y a veces se amontonan
los grupos o los programas en la barra de windows, mi idea es crear un
programa capaz de minimizar cualquier (o casi cualquier) programa al
systray de windows para poder tener mas libre la barra de windows y en
consecuencia el escritorio, pero mi problema es que no se por donde
empezar, se que tendré que meterme con la API de windows (en mi caso XP)
para detectar las ventanas o con la clase process para obtener los
procesos corriendo actualmente, quisiera saber si alguien me pudiera
orientar sobre como empezar en éste tema.

Muchas gracias por su ayuda!



==>> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>>
La igualdad de la riqueza debe consistir en que ningún ciudadano sea tan
opulento que pueda comprar a otro, ni ninguno tan pobre que se vea
necesitado de venderse.







Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación

El imitar es connatural al hombre.
Respuesta Responder a este mensaje
#4 Rick
21/01/2008 - 15:37 | Informe spam
Gracias RFOG, tambien le daré un vistazo!

Saludos!

"RFOG" escribió en el mensaje
news:
De todos modos yo usaría un acercamiento algo diferente. Instalaría un
hook global de teclado y estaría atento a dos combinaciones inusuales de
teclas; en una de ellas mandaría al systray la ventana activa, y en la
otra buscaría todas las ventanas con el mismo título (por ejemplo, hasta
el primer "-") y las mandaría todas al systray, anotando qué mando para
luego volver a sacar.

En codeproject hay varios artículos sobre cómo instalar hooks de teclado
desde C#.

Rick used his keyboard to write :
Okas con esto me basta para empezar a buscarle =)

Muchas gracias!!

"RFOG" escribió en el mensaje
news:
Es una idea que llevo yo también en la cabeza.

No hace falta ver los procesos, con EnumWindows el sistema va
recorriendo todas las ventanas de primer nivel, de forma que puedes
tener una lista de todas ellas (ojo, también tendrás otros procesos no
visibles que no tienen ventanas).

Luego tu programa ha de tener en cuenta cada ventana o grupo de ventanas
que oculta (enviándole un mensaje SW_HIDE) y poniendo el icono en el
taskbar.

Y cuando quieras recuperar dicha ventana/s, tendrás que mirar la lista
guardada y enviarle el SW_SHOW correspondiente.

Más o menos así debería ir. Evidentemente todo son funciones/mensajes
Win32... nada .NET.

Rick formulated on miércoles :
Que tal lista!

Tal vez alguien ya ha hecho esto, dejen les explico mi idea, comunmente
tenemos N programas abiertos en nuestro escritorio y a veces se
amontonan los grupos o los programas en la barra de windows, mi idea es
crear un programa capaz de minimizar cualquier (o casi cualquier)
programa al systray de windows para poder tener mas libre la barra de
windows y en consecuencia el escritorio, pero mi problema es que no se
por donde empezar, se que tendré que meterme con la API de windows (en
mi caso XP) para detectar las ventanas o con la clase process para
obtener los procesos corriendo actualmente, quisiera saber si alguien
me pudiera orientar sobre como empezar en éste tema.

Muchas gracias por su ayuda!



==>>> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>>>
La igualdad de la riqueza debe consistir en que ningún ciudadano sea tan
opulento que pueda comprar a otro, ni ninguno tan pobre que se vea
necesitado de venderse.







Microsoft Visual C++ MVP
==> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>
El imitar es connatural al hombre.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida