Visual Basic - programa residente en memoria

Life is soft - evento anual de software empresarial
 
Vista:

programa residente en memoria

Publicado por Alex (9 intervenciones) el 30/01/2006 09:35:32
Hola, tengo q crear un programa q resida en memoria, pq cada cierto tiempo tiene q abrir una base de datos y mirar si hay algun registro nuevo. Todo lo se hacer menos que el porgrama se me quede en la barra de inicio.
Si alguien me pudiera indicar como hacer eso, se lo agradeceria muchisimo.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:programa residente en memoria

Publicado por Juan_K (181 intervenciones) el 30/01/2006 20:46:17
Tienes q usar una funcion de la API llamada Shell_NotifyIcon
Aqui te va un cadigo de Ejemplo si deseas te envio el codigo completo a tu mail para q lo veas bien.

'Declaramos el tipo definido por el usuario
'q pasaremos a la funcion Shell_NotifyIcon
Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uId As Long
uFlags As Long
uCallBackMessage As Long
hIcon As Long
szTip As String * 64
End Type

'constantes q son mensajes q se envian a la funcion
'Shell_NotifyIcon para añadir, borrar o modificar un icono
'en la barra de tareas.
Private Const NIM_ADD = &H0 'Añadirlo a la barra de tareas
Private Const NIM_DELETE = &H2 'Borrarlo de la barra de tareas
Private Const NIM_MODIFY = &H1 'Modificarlo

Private Const WM_MOUSEMOVE = &H200

'constantes de lo que queremos que muestre el icono
Private Const NIF_MESSAGE = &H1 'que nos envie un mensaje
Private Const NIF_ICON = &H2 'que muestre un icono
Private Const NIF_TIP = &H4 'que muestre un texto al posicionarnos encima

'Constantes para determinar el evento producido sobre el icono

'constantes click-Izq.
Private Const WM_LBUTTONDBLCLK = &H203 'Doble-click
Private Const WM_LBUTTONDOWN = &H201 'Button down
Private Const WM_LBUTTONUP = &H202 'Button up

'constantes click-Derecho.
Private Const WM_RBUTTONDBLCLK = &H206 'Doble-click
Private Const WM_RBUTTONDOWN = &H204 'Button down
Private Const WM_RBUTTONUP = &H205 'Button up

'Declaramos la llamada a la funcion de la API.
Private Declare Function Shell_NotifyIcon Lib "shell32" _
Alias "Shell_NotifyIconA" _
(ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

'Creamos una variable del Tipo definido por el usuario.
Dim nid As NOTIFYICONDATA

Private Sub Form_Load()
Me.Hide ' Oculto el Form
nid.cbSize = Len(nid)
nid.hWnd = Form1.hWnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE 'mensaje que envia al pasar el mouse por encima
nid.hIcon = Form1.Icon 'icono mostrado en la barra
nid.szTip = "Controlador de Sistema " & vbNullChar
' llamamos a la funcion para añadirlo
Shell_NotifyIcon NIM_ADD, nid
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = vbFormControlMenu Then
Hide
Cancel = 1
End If
End Sub

Private Sub Form_Terminate()
'Borramos el icono de la barra
Shell_NotifyIcon NIM_DELETE, nid
End
End Sub

Private Sub Form_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
'Este evento ocurre cuando el puntero del mouse esta dentro
'del area del icono ubicado en la barra de tareas.
Dim msg As Long
Dim sFilter As String
msg = X / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
'Cuando el Evento sea un doble-click Izquierdo Mostramos el Formulario
Case WM_LBUTTONDBLCLK
Me.Show
'MenuT_Click 1
'Cuando el Evento sea un click derecho mostramos un menu contextuaal
Case WM_RBUTTONDOWN
PopupMenu MenuCon
Case WM_RBUTTONUP
Case WM_RBUTTONDBLCLK
End Select
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:programa residente en memoria

Publicado por Alex (9 intervenciones) el 31/01/2006 09:07:46
muchisimas gracias, creo q con esto ya lo tendre solucionado.

gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:programa residente en memoria

Publicado por ricaurte (313 intervenciones) el 31/01/2006 20:27:53
hey con ese codigo ya puedes hacer tu gusano residente bien bonito, hasta que se deshabilite y no, jajaja

de seguro estas haciendo un gusano ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar