Un ejemplo seria:
IA: Usuario, la conexion cableada se a desconectado...
Usuario: conecta la inalambrica
IA: Conectando por la inalambrica...
Imagino que será para Windows (no has explicado nada, ni siquiera en que lenguaje lo piensas hacer, odio las preguntas que ni siquiera comentan ese detalle tan esencial), pues entonces deberás desenvolverte cómo un experto con la API de Windows, para escuchar ese tipo de eventos.
¿Y en que lenguaje?, por que eso en cualquier lenguaje limitado no lo vas a poder hacer, a menos que hagas una cutrez con un timer/temporizador para comprobar cada X intervalo si el adaptador de red (de entre los que puedan haber) está conectado o no.
Tu idea es bastante más compleja de lo que seguramente en un principio a ti te parece, o mejor dicho es muy laboriosa ...mucho, ya que solamente el primer "comando" que se te ha ocurrido para darnos de ejemplo ya conlleva mucho trabajo de desarrollo (a menos que se opte por hacer la cutrez mencionada de arriba, en apenas 5 minutos), y se te ocurrirán muchos más "comandos" que implementar, idear y desarrollar, sobre todo
investigar.
En resumen tendrías que estar suscrito a los eventos del sistema e informar de ellos, tal vez incluso para algunas futuras ideas "comunes" necesites aplicar técnicas de API hooking o API override en las funciones de la API de Windows, pero bueno, aquí tienes algo de info para empezar con ese "comando" de la conectividad de red de la forma en la que debería hacerse, usando la API
NLM (
Network List Manager):
Using the NLM API to make your applications network-aware
Understanding what type of decisions your application needs to make based on connectivity information will determine how you go about using the NLM API. Which of the following best describes your application needs?
My application needs to be quickly informed of changing networking conditions.
My application needs to perform a quick check of what the network conditions are just once.
My application needs to do both.
➢
Network Awareness in Windows Vista and Windows 7 - MSDNY aquí la documentación y definiciones de los miembros que la componen:
➢
Network List Manager API Reference - MSDNAunque por otro lado, si eliges la plataforma .Net entonces Microsoft pone muuuuy fácil con los eventos públicos compartidos
System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged y
System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged que puedes encontrar en la librería de clases de .Net Framework, los cuales no te informan del estado de la red, pero si del cambio, y con eso ya puedes implementar una lógica personalizada sin recurrir forzosamente a la WinAPI.
Aquí un ejemplo de uso en C#, el cual se suscribe a dichos eventos y, cuando se disparan, se llama a la función personalizada "
IsNetworkAvailable" donde emplea una sencilla lógica para determinar si hay al menos una conexión activa:
➢
http://www.codeproject.com/Articles/64975/Detect-Internet-Network-Availability
Como veis mi idea?
Toda idea que implique una A.I. a la que poder darle órdenes en el PC es simplemente genial, es una buena idea, aunque en realidad sería
Automación ...no creo que se le deba denominar inteligencia artificial.
Mi única objeción es la que ya he comentado, que si pretendes hacerlo bien (no quiero decir profesionálmente, pero simplemente bien, no con cutreces típicas) entonces te va a llevar mucho más trabajo del que te puedas imaginar, pero con tiempo y dedicación todo se puede lograr.
Saludos