Página 1 de 1

Ocultar el icono de la bandeja de sistema de otra aplicación

Publicado: 01 Abr 2011, 01:47
por Bethory
Buen día a todos:

Como el título lo dice, necesito una función que me sirva para ocultar el icono de la bandeja de sistemas
de una aplicación rebelde que utilizo para monitoriar la actividad de mi sala de computo (soy docente de sistemas)
ello para evitar que me la cierren.

de yapa una que la oculte de los procesos de windows

Re: Ocultar el icono de la bandeja de sistema de otra aplica

Publicado: 01 Abr 2011, 02:07
por Chefito
Pon Opt("TrayIconHide", 1) al inicio del programa y se ocultará el icono de la bandeja. También puedes definir su menu contextual.

Saludos.

Re: Ocultar el icono de la bandeja de sistema de otra aplica

Publicado: 01 Abr 2011, 04:45
por Bethory
Muchas gracias por tu pronta respuesta, pero en esta ocasión no me sirve esa opción puesto que la aplicación que uso para monitoriar es ajena a autoit,
es decir, mi propósito es controlar la aparición en bandeja de sistema de otra aplicación (la aplicación se llama LANVision)

Re: Ocultar el icono de la bandeja de sistema de otra aplica

Publicado: 04 Abr 2011, 21:13
por Chefito
Mmmmmmm.....podrías haber buscado un poquito en el foro y hubieses visto algo que hice hace tiempo, pulsar un icono de la bandeja del sistema: http://www.emesn.com/autoitforum/viewto ... tray#p5223

Pues simplemente se trata de eso. Sabemos que el system tray es un control ToolbarWindow32 con instancia 1. Que este control pertenece a una ventana de clase Shell_TrayWnd. Todo este se puede saber simplemente utilizando el programa espia que lleva autoit llamado "Autoit Window Info".

Sabiendo esto ya podemos trabajar con el control directamente con la udf GuiToolBar.au3.
Lo que tienes que hacer es buscar entre todos los botones del control el que te interesa. Por ejemplo, esto se puede hacer buscando y comparando el texto de cada botón utilizando la función _GUICtrlToolbar_GetButtonText (igual que en el ejemplo que puse al principio). Una vez encontrado lo ocultas con la función _GUICtrlToolbar_HideButton.

En mi caso, he ocultado el botón de Ad-Aware:

Código: Seleccionar todo

#Include <GuiToolBar.au3>

Opt("MouseClickDelay", 20)
Local $texto=""
$TrayToolbar = controlGetHandle("[CLASS:Shell_TrayWnd]","","ToolbarWindow321")
For $n=0 To _GUICtrlToolbar_ButtonCount($TrayToolbar)-1
    If _GUICtrlToolbar_GetButtonText($TrayToolbar,$n)="Ad-Aware" Then
        _GUICtrlToolbar_HideButton($TrayToolbar,$n)
        ExitLoop
    EndIf
Next
El texto es el que te sale cuando pones el cursor encima de las imágenes (tooltip).

Saludos.

Re: Ocultar el icono de la bandeja de sistema de otra aplica

Publicado: 06 Abr 2011, 16:31
por BasicOs
Hola,
Creo que vas a necesitar tambien un programa aparte que simplemente te haga lo siguiente planteando una versión Alfa:

Controla cerrar un programa por un usuario estandar:
While 1
If not ProcessExist("tuprograma.exe") then run("arrancar tu programa") ; Si no esta funcionando tu programa lo vuelve a ejecutar cansinamente
if WinExists("Administrador de Tareas de Windows") then WinClose("Administrador de Tareas de Windows") ; para que no pueda cerrar el proceso desde el TaskManager
sleep(5000) ; cada 5 segundos
Wend
Salu22:)