Este es un ejemplo muy sencillito para enseñar como se puede hacer con pocas lineas un programa que esté siempre ejecutandose en memoria ocupando recursos mínimos:
Este programa está esperando a que aparezca una ventana (de esas molestas o no deseadas), y cuando aparezca esa ventana maldita, se elimine o bien se puede cerrar directamente con WinKill() o WinClose(), o bien una ENTER a la misma para quitarla, o enviando las teclas necesarias:
Cadena donde se almacenan los títulos de las ventanas objeto separadas por comas: Sesión esponsorizada,Notifier of se pueden almacena un número infinito de cabeceras de ventana poniendo una coma entre ellas.
Código: Seleccionar todo
;Creditos BasicOs de Autoit.es
$Mensajes = FileReadLine("antinags.txt") ;los comienzos de los títulos de los popups separados por comas
$Mensajes = StringSplit($Mensajes, ",") ; se separan en una lista los títulos por las comas
While 1
For $i = 1 To $Mensajes[0] ; Total de Ventanas
Opt("WinTitleMatchMode", 1)
if StringInStr($Mensajes[0] ,"[") then Opt("WinTitleMatchMode", 4)
If WinExists($Mensajes[$i]) Then
TrayTip("Aceptador de Nags Autoit.es", "Aceptando " & $Mensajes[$i], 1)
WinActivate($Mensajes[$i])
If WinWaitActive($Mensajes[$i], "", 10) Then Send("{Enter}") ;
WinClose($Mensajes[$i]) ; ****>cambiar esto para versión alternativa
EndIf
Next
Sleep(800) ; 0,8 segundo de espera entre revisiones
WEnd
Código: Seleccionar todo
Sesión esponsorizada,Notifier of,[CLASS:#32770]
*******> Versión alternativa pero enviando una pulsación de tecla:
WinActivate($Mensajes[$i])
If WinWaitActive($Mensajes[$i], "", 10) Then Send("{Enter}") ;espera max 10 segundos a que se active la ventana para enviar enter
; se puede personalizar para alt+a o enviar un click al botón con IF para casos particulares, pero Enter es más genérico.
Salu22:)
P.D.: A la hora de usar este programa se ha de leer y verificar que no se infringe ninguna condición de la licencia de uso de ese programa (como visualizar esa ventana), al eliminar los POPUPs, probablemente no pone que estés obligado a leer el mensaje. (La versión de Send() con Enter como emula lo que pide la licencia, está enviando un enter al OK que sale en la pantalla que es lo que se pide en la licencia, aunque sea automático, entiendo que acepta)
Personalmente me parece molesto este sistema de POPUPs, que se vio que era nocivo en los navegadores. Es una MALA política de empresa para teamviewer y para Avira , y otros que usen estos POPUPS, ya que generan una negatividad del usuario contra la marca CUANDO HAY que hacer click, los potenciales clientes posiblemente comprarían el producto la competencia en el caso de que compren algún programa (según la persona). Ideas del siglo XIX.
Actualizado: Usando ahora el Enter como aceptador del Aviso por motivos legales y por motivo de compatibilidad (CODIGO y ejecutable renovados)