J'utilise le code suivant dans une application VB 6.0 pour permettre donner à l'application d'une icône de la barre système:application de plateau de système VB 6.0 ne se ferme pas avec élégance lorsque Windows arrête
Option Explicit
'user defined type required by Shell_NotifyIcon API call
Public Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uId As Long
uFlags As Long
uCallBackMessage As Long
hIcon As Long
szTip As String * 64
End Type
'constants required by Shell_NotifyIcon API call:
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201 'Button down
Public Const WM_LBUTTONUP = &H202 'Button up
Public Const WM_LBUTTONDBLCLK = &H203 'Double-click
Public Const WM_RBUTTONDOWN = &H204 'Button down
Public Const WM_RBUTTONUP = &H205 'Button up
Public Const WM_RBUTTONDBLCLK = &H206 'Double-click
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Public nid As NOTIFYICONDATA
Je veux l'application pour minimiser à la barre d'état système lorsque vous cliquez sur le X de la fenêtre pour le fermer. Je réalise cela avec le code suivant dans l'événement QueryUnload du formulaire:
Me.WindowState = vbMinimized
Me.Hide
Dans le cas de forme Décharger je fais ce qui suit:
Shell_NotifyIcon NIM_DELETE, nid
Le problème est que lorsque je ferme le système d'exploitation et Windows envoie le message WM_CLOSE à l'application, QueryUnload est en train d'être déclenché mais apparemment pas l'événement Unload, car Windows m'indique qu'il veut terminer ma tâche.
Des idées sur la façon de faire fermer l'application correctement lors de l'arrêt de Windows?
Merci
Bien que cela puisse théoriquement répondre à la question, [il serait préférable] (http://meta.stackexchange.com/q/8259) pour inclure la parties essentielles de la réponse ici, et fournir le lien pour référence. –