FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Sustituir el Menú de Inicio de Windows
Buen día amantes de Delphi, estoy haciendo una aplicación que se ejecuta en pantalla completa y me gustaria sustituir el Menu de Inicio de Windows con un menu personalizado. ¿Alguien sabe como interceptar el evento o mensaje que se envía cuando se presiona la tecla de windows de un teclado M$ o cuando aparece el menu de inicio de Windows?
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky) Planeta Insólito, La Pluma Inspirada |
#2
|
||||
|
||||
Bueno, después de buscar por ahí encontré el código siguiente que puede serte de ayuda:
Para ocultar el menú (o botón) de inicio:
Para volver a restablecerlo:
Para sustituirlo por uno propio:
(Verás que el secreto está en capturar la ventana de sistema "Shell_TrayWnd", que representa la barra de inicio). Saludos! Última edición por jmariano fecha: 21-01-2006 a las 15:05:01. |
#3
|
||||
|
||||
Capturando mensajes?
Buen dia amigo, gracias por tu respuesta, ya habia visto esa solución en otro hilo y tiene un problema que pude probar yo mismo: En Windows XP (No se si en 9x y 2K) aunque ocultes o desactives la barra y el boton de inicio, el menu aparece al presionar la tecla Windows o Ctrl+Esc. Incluso hace un tiempo hice un programa que listaba los controles y ventanas que estaban en el escritorio y con él hice la prueba, pero nada, igual sigue apareciendo el menu .
Se me habia ocurrido que tal vez se podia capturar algun mensaje específico de sistema con el componente ApplicationEvents o algun Hook que capture cuando se presiona la tecla Windows pero no soy muy bueno con eso. Alguien sabe como se podría implementar? Ah otra cosa, si capturo un hook del evento cuando se presiona una tecla mi aplicación podría capturarla antes que vaya a cualquier otra aplicación?, procesarla y desactivarla? asi como un evento "OnKeyPress" en un TEdit cuando hacemos "Key:=0". Recuerdo haber visto eso una vez en un programa, sobre todo en los programas que bloquean los computadores en los cybercafes. Agradecería su ayuda gurús de Delphi .
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky) Planeta Insólito, La Pluma Inspirada |
#5
|
||||
|
||||
Además de lo comentado por roman, si te fijas en el código que puse para desactivar el menú de inicio verás que, además de "ocultar" el botón, también se cambia el "padre" de éste asignándole uno "nulo", por lo que todas las pulsaciones de teclas que muestran el menú (Ctrl-Esc y la tecla de Windows) quedan deshabilitadas. (Haz la prueba y verás que el menú no aparece aunque se pulsen dichas teclas, lo único que ocurre es que el formulario activo de nuestra aplicación pierde el foco, al menos a mi me funciona).
Saludos! |
#6
|
||||
|
||||
Me base en lo que decía Jonnathan acerca de que de cualquier forma aparecía el menú, pero tienes razón, se deshabilita por completo.
// Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Agregar Item a Menu Windows | m@kio | Varios | 2 | 05-12-2005 22:30:12 |
Desactivar menu contextual de Windows en WebBrowser | PTW | Varios | 1 | 11-05-2005 13:21:34 |
Inactivar el menú inicio | diegofhernando | Varios | 21 | 16-01-2005 16:12:53 |
Arrancar un programa, desde menú inicio, cuando yo quiera. | Tonio | Varios | 3 | 17-09-2003 04:31:19 |
Microsoft Taglines | SnaKe | Humor | 0 | 03-06-2003 15:42:27 |
|