Cómo hacer que el programa aparezca en la bandeja del sistema después de cerrarlo en VB
Oh, es fácil: déjame darte un ejemplo simple, como presionar el botón 1 para mostrar el ícono pequeño y presionar el botón 2 para eliminar el ícono pequeño.
Agrega el control PictureBOX al formulario
Código de ventana: Private?Sub?Command1_Click()
AddIcon?Form1 Escribe lo que se mostrará al pasar el cursor sobre Texto. ",?Form1
Fin?Sub
Privado?Sub?Command2_Click()
EliminarIcon?Imagen1
Fin?Sub
¿Privado?Sub ?imagen1_MouseMove(¿Botón?¿Como?Integer,?Shift?As?Integer,?X?As?Single,?Y?As?Single)
¿Seleccionar?Caso X? ?
Caso?trayLBUTTONDOWN
Caso?trayLBUTTONUP
Caso?trayLBUTTONDBLCLK
Form1.Visible?=?True
Caso?trayRBUTTONDOWN
Form1.PopupMenu?mnuFile,?vbRightMenuAlign
Caso?trayRBUTTONUP
Caso?trayRBUTTONDBLCLK
Case?trayMOUSEMOVE
Case?Else
Fin?Select
Fin?Sub
Código de módulo: Public?Const?NIF_ICON ? =?&H2
¿Público?Const?NIF_MESSAGE?=?&H1
¿Público?Const?NIF_TIP?=?&H4
¿Público?Const?NIM_ADD?= ? &H0
¿Público?Const?NIM_DELETE?=?&H2
¿Público?Const?NIM_MODIFY?=? &H1
¿Público?Const?WM_MOUSEMOVE?=? /p>
¿Pública?Const?trayLBUTTONDOWN?=?7695
¿Pública?Const?trayLBUTTONUP?=?7710
Pública?Const?bandejaLBUTTONDBLCLK?=?7725
p>¿Pública?Const?trayRBUTTONDOWN?=?7740
Pública?Const?trayRBUTTONUP?=?7755
Pública?Const?trayRBUTTONDBLCLK?=?7770
Público?Const?trayMOUSEMOVE?=?7680
Tipo?NOTIFYICONDATA
cbTamaño?As?Long
hwnd?As?Long
uID?As?Long
uFlipSize?
uFlags?As?Long
uCallbackMessage?As?Long
hIcon ? ¿Como?Long
szTip?Como?String?*?64
Fin
?Tipo
Declarar ?Función?EnableWindow?Lib?"user32"?(ByVal?hwnd?As?Long,?ByVal?fEnable?As?Long)?As?Long
¿Declarar función? Shell_NotifyIcon? ¿Lib? "shell32.dll"? ¿"Shell_NotifyIconA"?NotifyIconA"?(ByVal?dwMessage?As?Long,?lpData?As?NOTIFYICONDATA)?As?Long
Dim?trayStructure?As?NOTIFYICONDATA
¿Público? Función?AddIcon(pic?As?Control,?tip$,?f?As?Form)
trayStructure.szTip?=?tip$ &?Chr$(0)
trayStructure.uFlags?=?NIF_MESSAGE?+?NIF_ICON?+?NIF_TIP
trayStructure.uID?=?100
trayStructure.cbSize?=?Len(trayStructure)
trayStructure.hwnd?=?pic.hwnd
trayStructure.uCallbackMessage?=?WM_MOUSEMOVE
trayStructure.hIcon?=?f.Icon
rc?=?Shell_NotifyIcon(NIM_ADD,?trayStructure)
End?DeleteIcon(pic.As.Control)
trayStructure.uID?=?100
trayStructure .cbSize?=?Len(trayStructure)
trayStructure.hwnd?=?pic.hwnd
trayStructure.uCallbackMessage?=?WM_MOUSEMOVE
rc?=? Shell_NotifyIcon(NIM_DELETE,?trayStructure)
Fin?Función
Público?Sub?NewTip(pic?As?Control,?tip$)
trayStructure.uFlags ?=?NIF_TIP
trayStructure.uID?=?100
trayStructure.cbSize?=?Len(trayStructure)
trayStructure.hwnd?=?pic. hwnd
trayStructure.uCallbackMessage?=?WM_MOUSEMOVE
trayStructure.szTip?=?tip$ &?Chr$(0)
rc ?=?Shell_NotifyIcon(NIM_MODIFY,?trayStructure)
End?Sub
¡Entonces tienes que editar el menú en el editor de menú del mouse en el formulario!
Te pondré un ejemplo concreto: te daré una imagen y dejaré que la mires una por una para disipar tus dudas.
Ya sea que el nombre específico esté involucrado en el código, le daré un ejemplo:
¿Título?Nombre
&FilemnuFile
Abrir ¿Interfaz del software?mnuOpen
Copyright?mnuAcerca de
Salir?mnuSalir
Además, &Archivo es visible. Este enlace se eliminó porque el ícono debajo del software es invisible. !
¡El código es así! Si no funciona, deje un correo electrónico y se lo enviaré enseguida
Además, el evento debajo del cuadro que aparece está escrito en el evento Picture1 MouseMove en el código de formulario del cuadro.
Por cierto, si eres un programa, entonces en AddIcon?Form1.Picture1, "escribe el texto que se muestra cuando el mouse se mueve aquí",?Form1 en el evento FORM.Unload.
Si quieres cerrarlo, ¡simplemente finalízalo!