Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo escribir un programa informático en segundo plano en VB

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

nfIconData.hIcon = Me.Icon.Handle

nfIconData.szTip = "Icono de bandeja del sistema" amp vbNullChar

nfIconData.cbSize = Len(nfIconData)

Llamar a Shell_NotifyIcon(NIM_ADD, nfIconData)

'(Código propio)

>Fin Sub