Comment déterminer si mon application est active (a focus)
Est-il un moyen de savoir si ma demande est active, c'est à dire l'une de ses fenêtres .Est actif=true?
J'écris application messenger et vous voulez qu'il flash dans la barre des tâches lorsqu'il est inactif et l'arrivée des nouveaux messages.
source d'informationauteur Poma
Vous devez vous connecter pour publier un commentaire.
Utilisé P/Invoke et boucle
Vous pouvez vous abonner à la Fenêtre Principale de Activé événement, et puis faire ce que vous voulez. Pouvez-vous lui donner un essai?
essayer cela, remplacer OnActivated méthode dans votre MainForm et faire ce que vous voulez
hop cette aide
Vous avez le
Activated
etDeactivated
événements deApplication
.Si vous voulez être capable de se Lier à
IsActive
vous pouvez ajouter une Propriété dansApp.xaml.cs
bien sûr, vous pouvez également accéder à cette propriété dans le code comme
App.xaml.cs
Un moyen (peut-être il y aurait plus de meilleurs moyens) peut être de trouver la fenêtre Active par le biais de l'API Windows puis de trouver le nom du processus de la fenêtre active.
Une autre façon serait de conserver une référence de toutes les fenêtres et lorsque vous souhaitez savoir si votre application est active ou non il suffit de parcourir toutes les fenêtres et vérifier
IsActive
valeurUne autre façon serait d'utiliser
OwnedWindows
propriété de MainWindow. Chaque fois que vous créez une nouvelle fenêtre affecter la fenêtre principale de son propriétaire. Ensuite, vous pouvez parcourir tous lesOwnedWindows
de MainWindow et de vérifier si tout est active ou non.(jamais essayé cette approche)