Red de conocimiento informático - Problemas con los teléfonos móviles - Al programar en VB, minimice el programa en la bandeja y actívelo automáticamente en el escritorio después de un período de tiempo. ¿Cómo convertirlo en la capa superior del escritorio?

Al programar en VB, minimice el programa en la bandeja y actívelo automáticamente en el escritorio después de un período de tiempo. ¿Cómo convertirlo en la capa superior del escritorio?

Opción explícita

Función de declaración privada Shell_NotifyIcon Lib "shell32.dll" Alias ​​​​"Shell_NotifyIconA" (ByVal dwMessage siempre, lpData como NOTIFYICONDATA) Siempre

Función de declaración privada SetWindowPos Lib " user32 " (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const NIM_ADD = &H0 'Agregar un ícono a la barra de tareas

Private Const NIM_DELETE = &H2 'Eliminar el ícono de la barra de tareas

Private Const NIM_MODIFY = &H1 'Modificar la información del ícono en la barra de tareas

Private Const WM_MOUSEMOVE = &H200 'Mueva el mouse al ícono. H40

Tipo privado NOTIFYICONDATA

cbSize As Long 'El tamaño de esta estructura de datos

hwnd As Long 'El identificador de ventana para procesar el icono en la barra de tareas

uId As Long 'Identificador del icono definido en la barra de tareas

uFlags As Long 'control de función del icono de la barra de tareas, puede ser una combinación de los siguientes valores (normalmente incluye todos valores)

ucallbackMessage As Long 'El valor del mensaje intercambiado entre el icono de la barra de tareas y la ventana que procesa el mensaje está determinado por hWnd

hIcon As Long 'El identificador de control del icono en la barra de tareas

szTip As String * 64 'Mensaje de solicitud de icono

Tipo de finalización

Private Const NIF_MESSAGE = & H1 'NIF_MESSAGE significa enviar un mensaje de control ;

Const Privada NIF_ICON = &H2 'NIF_ICON Indica que el ícono se muestra en la barra de control;

Const Privada NIF_TIP = &H4 'NIF_TIP indica que el ícono en la barra de tareas tiene una dinámica inmediato.

Hora de restauración privada como fecha

Atenuar myData1 como NOTIFYICONDATA

Sub Form_Load() privado

Con myData1

.cbSize = Len( myData1)

.hwnd = Yo.hwnd

.uId = 0

.uFlags = NIF_ICON O NIF_MESSAGE O NIF_TIP

.ucallbackMessage = WM_MOUSEMOVE

.hIcon = Me.Icon.Handle

.szTip = "¡Prueba del programa de bandeja!" & vbNullChar

Terminar con

Shell_NotifyIcon NIM_ADD, myData1

End Sub

Sub privado Form_MouseMove(Botón como entero, x como entero, Mayús como entero, x como entero, x como entero, x como entero, x como entero, x como entero). Desplazar como entero, x como único, y como único)

Atenuar mensaje como largo

Mensaje = x / Screen.Hide

Finalizar si

End Sub

Private Sub Timer1_Timer()

Si DateDiff("n", recoveryTime, Now) = 0 Entonces

Me.WindowState = vbNormal

Me.Show

Me.ScaleMode = 3

SetWindowPos Me.hwnd, HWND_TOPMOST, Me .ScaleLeft, Me.ScaleTop, Me.ScaleLeft, Me.ScaleTop.ScaleTop, Me.ScaleWidth, Me.ScaleHeight, SWP_SHOWWINDOW

Finalizar si

End Sub

'Agregue un control de temporizador y minimícelo para ver el efecto.

'Agrega un control de temporizador y minimízalo.