2015-09-02 5 views
2

J'ai créé une application VB6 pour exécuter en tâche de fond et me dire quand ma clé de verrouillage des majuscules est activée. Il démarre au démarrage de Windows, donc il est toujours allumé, mais quand je vais éteindre l'ordinateur, l'application bloque le processus d'arrêt dans Windows 8.Répondre au processus d'arrêt du système

Y a-t-il un événement à surveiller à l'échelle du système ou une autre méthode de capture? la commande shutdown que je peux utiliser pour tuer mon application gracieusement?

+0

dans quelle version avez-vous compilé – gwillie

Répondre

4

La manière standard d'être averti d'un arrêt du système est via Form_QueryUnload(). Lorsque le système d'exploitation est en cours d'arrêt, le paramètre UnloadMode sera égal à vbAppWindows. Par exemple:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 
    If UnloadMode = vbAppWindows Then 

     ' OS is shutting down. Close gracefully. 

    End If 
End Sub 

Alternativement, vous pouvez créer une sous votre fenêtre et écouter le message WM_QUERYENDSESSION.