¿Cómo agregar una bandeja para minimizar la ventana de ejecución del programa?
Análisis:
función api shell_notifyicon
1. Cree un nuevo proyecto VB6 y cámbielo ShowInTaskBar de Form1 Establezca la propiedad en False
2. Menú: Proyecto - Agregar módulo Presione "Abrir", para que se agregue un nuevo módulo, llamado Módulo1, guárdelo como Módulo1: Proyecto - Agregar módulo Presione " Abrir", por lo que se agrega un nuevo módulo, denominado Módulo1 y se guarda como Módulo1.
3. Escriba el siguiente código en el Módulo1:
Opción explícita
Const pública MAX_TOOLTIP As Integer = 64
Const pública NIF_ICON = &H2
Const pública NIF_MESSAGE = &H1
Const pública NIF_ TIP = &H4
Const pública NIM_ADD = &H0
Const pública NIM_DELETE = & ;H2
Constante pública WM_MOUSEMOVE = &H200
Constante pública WM_LBUTTONDOWN = &H201
Constante pública WM_LBUTTONUP = &H202
Constante pública WM_LBUTTONDBLCLK = &H203
Constante pública WM_RBUTTONDOWN = &H204
Constante pública WM_RBUTTONUP = &H205
Constante pública WM_RBUTTONDBLCLK = &H206
Constante pública SW_RESTORE = 9
Constante pública SW_HIDE = 0
nfIconData público como NOTIFYICONDATA
Tipo público NOTIFYICONDATA
cbSize as Long
hWnd Mientras
uID Como
uFlags Mientras
uCallbackMessage Mientras
hIcon Mientras
szTip como cadena * MAX_TOOLTIP
Tipo final
Función de declaración pública ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Función de declaración pública Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
4. Escriba el siguiente código en el evento de carga de Form1:
Private Sub Form_Load()
'El siguiente contenido colocará el programa en la bandeja del sistema ================== ==== ===============Comenzar la bandeja del sistema
con nfIconData
.hWnd = Me.hWnd
.uID = Me.Icon
.uFlags = NIF_ICON O NIF_MESSAGE O NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon.Handle p>
'Define el mensaje que se mostrará cuando el mouse se mueva a la bandeja
.szTi
p = App.Title + "(Version " & App.Major &."." & App.Minor & "." & App.Revision & ")" & vbNullChar
.cbSize = Len(nfIconData )
Terminar con
Llamar a Shell_NotifyIcon(NIM_ADD, nfIconData )
'================== ===========================================Fin de la bandeja del sistema
Me.Hide
End Sub
5. Escriba el siguiente código en el evento QueryUnload de Form1:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Llame a Shell_NotifyIcon(NIM_DELETE, nfIconData)
End Sub
6. Escriba el siguiente código en el evento MouseMove del Formulario 1: p >
Private Sub Form_MouseMove(Botón como entero, Mayús como entero, X como único, Y como único)
Atenuar lMsg como único
lMsg = X / Screen.TwipsPerPixelX
Seleccionar caso lMsg
Caso WM_LBUTTONUP
' MsgBox "¡Haga clic derecho en el icono!", vbInformation, "Live.MouseMove(Botón como entero, Mayús Como icono Entero, aparecerá el menú MenuTray
'' Case WM_MOUSEMOVE
'' Case WM _LBUTTONDOWN
'' Case WM_LBUTTONDBLCLK
'' Caso WM_RBUTTONDOWN
'' Caso WM_RBUTTONDBLCLK
'' Caso más
Finalizar selección
Fin sub
7 . Ahora guarde el programa y ejecútelo para ver si se agrega un icono de proyecto a la bandeja del sistema. Haga clic en este icono y Form1 aparecerá automáticamente.
Fin Sub
7.