Ayuda con la implementación de dos proyectos conjuntos de avisos al usuarios en Visual Basic

Buenos días nuevamente... Tengo el siguiente problema y te consulto acerca de cual de estas dos soluciones con sus problemas tengo.
El tema es que quiero hacer un sistema de aviso, es decir, tengo una aplicación que es la que te he consultado, en la cual actualizas la base de datos, etc.. Ahora quiero una aplicación nueva que me permita avisar cada una hora, si el usuario lo desea, que cosas tiene pendiente aun. Por ejemplo, quiere que le avise que solicitudes pendientes tiene al día de hoy... Pero es opcional, puede que un usuario lo quiera y otros no.
Para esto pensé en hacer :
1) Hice una aplicación aparte, en donde accedo a la misma base y corre concurrentemente, y la activo desde el menu con un shellexecute agenda.exe.
Lo que quiero es cerrar la aplicación agenda si cierro la primera, ya he probado con shellexecute y en lugar de open poner close, pero no anda. La pregunta es, ¿puedo cerrar otra aplicación de vb que este corriendo concurrentemente desde vb?
2) Hice un grupo de proyectos, agregue los dos proyectos, pero estos son dos proyectos normales, ¿cómo hago para que interactúen? Ya que ninguno es una dll o ...
En caso que puedan interactuar, como necesito que el timer funcione, ¿puede correr concurrentemente y que pueda seguir trabajando en la aplicación y que me salte la agenda según el tiempo que determine?
Pues la agenda "salta" tipo aviso del outlook, esto para el caso 1, pero lo que me queda es como cerrar esta aplicación al cerrar la aplicación principal.
Espero haber sido algo claro por lo menos...
Muchas gracias

1 Respuesta

Respuesta
1
1) Si es posible hacer lo que ue planteas, peroor es crea un yo no he realizado aplicaciones de ese tipo
2) Creo que lo mejor es crear un tipo de aplicación servicio de windows, con eso el propio sistema operativo se encarga de realizar tareas, y simplemente es que coloques un timer en ese servicio windows, y cuando se dispare el tiempo que hayas especificado hagas lo que ue se necesita. El único inconveneinte es que un servicio windows queda funcionando hasta que apagues el PC.
Te comento lo que he estado probando y como,
para el primer caso hice esto que encontré por ahí y funciona
Public Sub KillProcess(ByVal processName As String)
'On Error GoTo ErrHandler
    Dim oWMI
    Dim ret
    Dim sService
    Dim oWMIServices
    Dim oWMIService
    Dim oServices
    Dim oService
    Dim servicename
    Set oWMI = GetObject("winmgmts:")
    Set oServices = oWMI.InstancesOf("win32_process")
    For Each oService In oServices
        servicename = _
            LCase(Trim(CStr(oService.Name) & ""))
        If InStr(1, servicename, _
            LCase(processName), vbTextCompare) > 0 Then
            ret = oService.Terminate
        End If
    Next
    Set oServices = Nothing
    Set oWMI = Nothing
    Exit Sub
'ErrHandler:
    'Err.Clear
End Sub
Y después llamo a esa función con el nombre del exe: Call KillProcess("AgendaAG.exe")
Voy a probar lo del servicio windows, porque lo que estuve probando, ademas de lo anterior es en un form dentro del mismo proyecto con un timer, y ahí hago lo que tiene que hacer... lo único que mientras la aplicación esta abierta, pero el aviso se da...
Muchas gracias
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas