Cómo escribir un programa informático en segundo plano en VB
Puedes ocultar el formulario a través del siguiente código:
Función de declaración privada ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
'Proceso de personalización del formulario oculto
Private Sub HideForm()
'(Código propio)
ShowWindow Me.hwnd, SW_HIDE
'(Código propio)
End Sub
'Mostrar el proceso de personalización del formulario
Private Sub ShowForm()
'(Código propio)
Si Me.WindowState = vbMinimized Entonces
Me.WindowState = vbNormal
p>Else
Me.Visible = True
End If
'(Código propio)
Me.SetFocus
End Sub
Por supuesto, también sería bueno si pudieras agregar un icono al área de la bandeja del sistema
Private Const MAX_TOOLTIP As Integer = 64
Private Const NIF_ICON = amp; H2 'Eliminar icono
Private Const NIF_MESSAGE = amp; >
Private Const NIM_MODIFY = amp; H1 'Modificar el ícono en la barra de estado del sistema
Private Const NIM_DELETE = amp; H2 'Eliminar el ícono en la barra de estado del sistema
Const privada NIF_TIP = amp;H4
Const privada WM_USER = amp;H400
Const privada WM_MOUSEMOVE = amp;H200
Const privada WM_LBUTTONDOWN = amp;H201
Const privada WM_LBUTTONUP = amp; H202
Const privada WM_LBUTTONDBLCLK = amp; H203
Const privada WM_RBUTTONDOWN = amp; WM_RBUTTONUP = &H205
Const privada WM_RBUTTONDBLCLK = &H206
Const privada TRAY_CALLBACK = (WM_USER 1001amp;)
Co privado
nst GWL_WNDPROC = (-4)
Privado Const GWL_USERDATA = (-21)
Tipo privado NOTIFYICONDATA
cbSize As Long 'Necesita completar los datos NOTIFYICONDATA estructura Longitud
hwnd As Long 'Establecer como identificador de la ventana
uID As Long 'El valor de ID establecido para el icono
uFlags As Long 'Establecer uCallbackMessage, hIcon , szTip es válido
uCallbackMessage As Long 'Número de mensaje
hIcon As Long 'Icono que se muestra en la barra de estado
szTip As String * MAX_TOOLTIP ' Mensaje de aviso
Tipo de finalización
Función de declaración privada ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Función de declaración privada Shell_NotifyIcon Lib " shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
'Valor de retorno Largo, distinto de cero significa éxito, cero significa fracaso
'Definir variable de icono de bandeja
Privado nfIconData como NOTIFYICONDATA
Sub privado Form_Load()
'(Código propio)
nfIconData .hwnd = Yo .hwnd
nfIconData.uID = Yo.Icon
nfIconData.uFlags = NIF_ICON O NIF_MESSAGE O NIF_TIP
nfIconData.uCallbackMessage = WM_MOUSEMOVE p>
nfIconData.hIcon = Me.Icon.Handle
nfIconData.szTip = "Icono de bandeja del sistema" amp vbNullChar
nfIconData.cbSize = Len(nfIconData) p>
Llamar a Shell_NotifyIcon(NIM_ADD, nfIconData)
'(Código propio)
>Fin Sub