Red de conocimiento informático - Problemas con los teléfonos móviles - vb minimizar a la bandeja

vb minimizar a la bandeja

La prueba está bien, estos códigos se han copiado en el módulo:

Opción explícita

'Declaración de API Win32

Declarar función Shell_NotifyIcon Lib "shell32 " Alias ​​​​"Shell_ NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) Como booleano

'Constante utilizada para detectar iconos en los que se hace clic

Const pública WM _LBUTTONDBLCLK = &

Const pública WM_RBUTTONUP = &H205

' Constantes utilizadas para controlar iconos

Const pública NIM_ADD = &H0

Const pública NIM_ADD = &H0

'Como booleano' amp;H0

Const pública NIM_MODIFY = &H1

Const pública NIF_MESSAGE = &H1

Const pública NIM_DELETE = &H2

Const pública NIF_ICON = &H2

Const pública NIF_TIP = &H4

'ID utilizado como información de devolución de llamada

Const pública WM_MOUSEMOVE = &.H200

' Utilizado por Shell_NotifyIcon

Tipo público NOTIFYICONDATA

cbSize As Long

hWnd As Long

uId As Largo

uFlags tan largo

ucallbackMessage tan largo

hIcon tan largo

szTip como cadena * 64

Tipo final

'Crear una variable de tipo NOTIFYICONDATA

Public TrayIcon As NOTIFYICONDATA

Estos códigos se copiarán en el formulario:

Dim RR As Boolean

Private Sub Form_Load()

'Formulario centrado

Me.Move (Screen.Width - Me.Width) / 2, (Screen.Width - Me.Width) .Height - Me.Height)Height - Me.Height) / 2

'Establece cbSize a la longitud de TrayIcon

TrayIcon.cbSize = Len(TrayIcon)

' El identificador de la ventana utilizada para procesar mensajes, es decir, este formulario

TrayIcon.hWnd = Me.hWnd

'Código de identificación del icono

TrayIcon.> ' Información sobre herramientas para el ícono: establece la información sobre herramientas que se mostrará

TrayIcon.szTip = App.Title & Chr$(0)

.

Title & Chr$(0)

'Agregue el ícono a la bandeja llamando a la API Shell_NotifyIcon

'NIM_ADD es una constante: agregue el ícono a la bandeja

Llamar a Shell_NotifyIcon(NIM_ADD, TrayIcon)

'No dejar que la aplicación aparezca en la lista de tareas de Windows

' App.TaskVisible = False

End Sub

Sub privado Form_MouseMove(Botón como entero, X como entero, Mayús como entero, Mayús como entero, X como entero) Mayús como entero, X como único, Y como único)

Mensaje estático siempre

'x es la posición actual del mouse en el eje x

Message = X / Screen.TwipsPerPixelX(NIM_ADD_TrayIcon)

'X es la posición actual del mouse en la posición x en el eje. Si RR = Falso, entonces

RR = Verdadero

Seleccionar mensaje de caso

' Haga doble clic con el botón izquierdo (esto abrirá un cuadro de diálogo Mostrar

' Haz clic derecho hacia arriba (aparecerá un menú)

Case WM_RBUTTONDBLCLK

Me.Show

' Haz clic derecho hacia arriba ( esto abrirá un menú)

p>

Case WM_RBUTTONUP

' Me.Show

' Message = X / Screen.PopupMenu mnuPopUp

Finalizar selección

RR = False

Finalizar si

End Sub

Sub privado Form_QueryUnload(Cancelar como entero, UnloadMode como entero ) UnloadMode As Integer)

TrayIcon.cbSize = Len(TrayIcon)

TrayIcon.hWnd = Me.hWnd

TrayIcon.uId = vbNull

'Eliminar icono de bandeja

Llamar a Shell_NotifyIcon(NIM_DELETE, TrayIcon)

Finalizar sub

Sub privado Form_Resize()

Si Me.WindowState = vbMinimized y no RR, luego ocultarme

End Sub

.