2009-11-23 5 views
3

J'utilise le Pack de code API Windows pour Microsoft .NET Framework pour essayer certaines des nouvelles fonctionnalités de la barre des tâches Win7. Je code en C#.Barre des tâches Windows 7 - jumplist, jumplistlink et jumplistitem

J'ai une question concernant les jumplists. Tout l'exemple de code fourni suppose que les entrées de la liste de raccourcis sont utilisées pour appeler une application particulière ou pour ouvrir un document, par ex. un document texte dans une liste MRU ou exécutez mspaint.exe.

Je voudrais implémenter quelques éléments qui me permettent de définir l'état dans ma propre application (c'est-à-dire l'application qui interagit avec la barre des tâches). MSN Messenger le fait, par exemple, lorsque vous pouvez définir votre statut (Occupé, Hors ligne, etc.). Je ne peux pas créer un JUmpListItem ou un JumpListLink de cette manière, car il les traite comme des applications ou des documents.

Quelqu'un a-t-il des exemples de création d'un élément qui déclenche un événement dans la même application que celle qui l'a créé? Je suis sûr que c'est simple mais je suis très idiot.

Un grand merci pour votre aide.

+0

Cet article sur ** CodeProject ** peut être utile [ici] (http://www.codeproject.com/KB/WPF/MefFX.aspx). – t0mm13b

Répondre

0

Utilisation du TaskBarDemo, pour ouvrir un élément créé par l'application devrait être fait référence, à savoir si votre programme a créé un fichier PDF que vous feriez ceci:

jumpList.AddUserTasks(new JumpListLink(Path.Combine(systemFolder, "C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRD32.exe"), "Open Adobe Reader") 
     { 
      IconReference = new IconReference(Path.Combine(systemFolder, "C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRD32.exe"), 0) 
     }); 

Sinon, vous devez vous assurer que votre associations de fichiers enregistrés d'application, pour les articles récents ou fréquents.

J'ai eu quelques problèmes avec les jumplists avec le Pack API, j'utilise maintenant VS 2010 Beta 2 et je laisse le shell gérer les jumplists.

J'espère que c'est utile.

+0

Merci, mais je ne veux pas instancier quoi que ce soit à l'extérieur, je veux simplement envoyer un événement dans mon application - plutôt comme un joli menu contextuel vraiment. Est-ce possible avec Jumplists? – mrbouffant

1

Je crois que ce que vous voulez faire est d'appeler votre application avec un ensemble spécial de drapeaux (c'est-à-dire lancer l'exécutable avec certains arguments). Au démarrage de l'application, vous vérifiez les indicateurs définis, puis envoyez un message à l'instance principale de l'application, puis quittez la nouvelle instance.

0

Ces tâches sont de type IShellLink. Ensuite, vous devriez appeler AddUserTasks ICustomDestinationList. Rechercher des échantillons dans Windows 7 Training Kit.

Questions connexes