2010-10-01 6 views
1

Je pense que c'est ce qu'on appelle:Windows 7 Jump List

enter image description here

Je veux être en mesure d'ajouter des trucs comme ça à mon programme. Comme un bouton ouvert et d'autres boutons qui exécuter une méthode dans l'application. C'est en C#, au fait.

Je me suis penché sur le code de l'API de Windows 7, mais ça ne marche pas comme je le veux. Il ne me laissera pas exécuter une méthode dans mon application comme je le veux. Cela vous permet simplement d'ouvrir d'autres applications.

Est-ce quelque chose comme cela possible?

+0

Salut Eaton, s'il vous plaît ajouter un ocde, afin que nous puissions vous aider. Merci! –

+0

Bonjour, je n'ai jamais vraiment trouvé de code car le W7 Code Pack n'avait pas les fonctionnalités dont j'avais besoin. – Eaton

Répondre

4

Je pense que c'est vous qui ne comprenez pas le fonctionnement des JumpLists. "Cela vous permet juste d'ouvrir d'autres applications" C'est exactement ce que ça fait, rien d'autre. Thats Windows 7 fonctionnalité, pas de limitation de code API. Le point clé à ceci est fait, que votre application n'est pas en cours d'exécution, donc O WH cela devrait exécuter votre méthode? Une implémentation correcte consiste à faire exécuter à votre JumpList votre application avec les paramètres corrects, puis à l'intérieur de votre application, la méthode Main appelle différentes méthodes en fonction de ces paramètres. N'oubliez pas, même les applications de fenêtre ont des paramètres d'entrée, tout comme les applications de la console.

+0

Merci pour l'info! – Eaton

1

Si vous regardez Outlook et Messenger, ils invoquent d'autres commandes dans l'application, vous savez donc que c'est possible. Mais comme le dit @Euphoric, l'architecture des jumplists est très simple: le choix d'une destination (par exemple un nom de fichier ou une URL) entraîne le lancement d'une autre instance de l'application par Windows et un argument de ligne de commande. Le choix d'une tâche entraîne le lancement de cette tâche par Windows, qui doit être un autre exe.

Comment résoudre ce paradoxe apparent? L'autre exe est un exe assistant qui communique avec l'application principale. Les exemples sont rares, mais je travaille sur une démo pour une discussion début novembre, et j'en ferai un blog quand je l'aurai fait. Peut-être que ce pointeur architectural vous aidera à démarrer.

0

Affectez des URL aux éléments de la liste de sauts et utilisez un écouteur HTTP pour invoquer des méthodes sur votre application. Comme ceci URL mapping with C# HttpListener

En outre, vous pouvez utiliser la route impromptue et utiliser un mutex partagé pour créer une seule instance de votre application et transférer les arguments de ligne de commande sur un canal nommé. Mais l'écouteur http est plus agréable;)