Red de conocimiento informático - Material del sitio web - ¿Cómo agregar una bandeja para minimizar la ventana de ejecución del programa?

¿Cómo agregar una bandeja para minimizar la ventana de ejecución del programa?

Categoría: Computadora/Red >> Programación >> Otros lenguajes de programación

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

'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:

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.