2010-03-18 6 views
1

J'ai besoin de savoir si l'utilisateur a caché une icône ajoutée par mon programme dans la zone de notification. Est-ce techniquement faisable?API Windows: Est-il possible de savoir si une icône dans la barre d'état système est masquée par l'utilisateur?

MISE À JOUR Mon programme - yowindow affiche la température actuelle dans l'icône de la barre d'état système. Je veux épargner le chargement du serveur en ne mettant pas à jour automatiquement la météo pour les utilisateurs qui ne voient pas l'icône de plateau.

Répondre

3

n °

Et que feriez-vous avec ces informations, même si vous l'aviez? (Caveat - Je suppose que vous pouvez faire une capture d'écran, déterminer où se trouve la barre des tâches, déterminer où se trouve la barre d'état système, "analyser" chaque icône, puis comparer chaque bitmap avec votre propre icône. ...)

Il pourrait être intéressant de vous en regardant cette related question

sur la base d'une première modification à la question

Je peux voir votre point. Mais regardez-le à partir du point de vue du concepteur de l'API Windows. Ils ont fourni une facilité pour créer des icônes de manière "toujours visible". Et chaque homme + chien est allé de l'avant et a mis une icône là-bas, sur la présomption que l'utilisateur voudrait toujours savoir leur produit (s'il vous plaît noter, je ne dis pas que vous êtes dans ce groupe ici).

Ils ont remarqué ce comportement d'emballement, et bien qu'ils ne peuvent pas maintenant enlever la possibilité de créer ces icônes, ils veulent donner le contrôle de l'utilisateur.

Maintenant, nous en venons au problème. Imaginez, une seconde, que vous êtes un développeur moins qu'éclairé. Et si vous détectez que votre icône a été masquée, un message s'affiche pour inviter l'utilisateur à masquer votre icône. Peut-être que vous faites cela une fois par connexion. Peut-être que vous le faites toutes les demi-heures. C'est juste un niveau général de désagrément de l'utilisateur, similaire à l'apparition de 40 icônes dans la barre, lorsque l'utilisateur ne se soucie pas de la plupart d'entre elles.

La question est: si vous concevez une API pour permettre aux développeurs de découvrir si leur icône est, en fait, cachée. Comment autorisez-vous votre utilisation bénigne, tout en empêchant le comportement dans le paragraphe précédent? Passez quelques minutes à essayer de prétendre être un concepteur d'API Windows, et essayez d'écrire la (les) fonction (s) nécessaire (s) (supposons que les développeurs ennuyeux ne sont pas prêts à implémenter l'interface IAmEvil, ou quoi que ce soit être disposé à implémenter l'interface IOnlyDoGood ...)

Heureusement, votre icône est utile, et les utilisateurs vont soit a) montrer votre icône, soit b) supprimer votre application (si elle ne fait pas ce qu'elle veut/a besoin)

+0

Voir ma mise à jour à la question – Pavel

+1

Très bien expliqué. Je suis d'accord avec vous, dès que Windows aura développé le contrôle sur la visibilité de l'icône, ils commenceront à supplier l'utilisateur d'afficher à nouveau l'icône. Merci Damien! Marquez votre réponse comme réponse. – Pavel

1

Il n'y a pas de fonction API pour autant que je sache, et il n'y a pas de bonne solution au problème. Vous pouvez directement après l'installation afficher un message du plateau indiquant à l'utilisateur que l'icône peut être masquée. Pas que ça t'aidera, mais c'est tout ce que tu peux faire. J'ai vu des programmes qui bugent l'utilisateur en montrant périodiquement ce message mais ce n'est vraiment pas une bonne chose à faire.

Questions connexes