Список переходов Windows 7 - PullRequest
       24

Список переходов Windows 7

1 голос
/ 01 октября 2010

Я думаю, вот как это называется:

enter image description here

Я хочу иметь возможность добавлять подобные вещи в мою программу. Например, кнопка открытия и другие кнопки, которые запускают метод в приложении . Это в C #, кстати.

Я ДЕЙСТВИТЕЛЬНО заглянул в Windows 7 API Code Pack, но он ... работает не так, как я хочу. Это не позволит мне выполнить метод внутри моего приложения, как я хочу. Он просто позволяет открывать другие приложения.

Возможно ли что-то подобное?

Ответы [ 3 ]

4 голосов
/ 01 октября 2010

Я думаю, это вы, кто не понимает, как работают JumpLists.«Это просто позволяет вам открывать другие приложения» Это именно то, что он делает, и ничего больше.Это функция Windows 7, а не ограничение API Code Pack.Ключевым моментом в этом является тот факт, что ваше приложение не запущено, поэтому ГДЕ должно выполняться ваш метод?Правильная реализация будет состоять в том, чтобы ваш JumpList запускал ваше приложение с правильными параметрами, а затем внутри вашего метода Main вызывал различные методы в зависимости от этих параметров.Не забывайте, что даже оконные приложения имеют входные параметры, как консольные приложения.

1 голос
/ 01 октября 2010

Если вы посмотрите на Outlook и Messenger, они вызывают другие команды в приложении, так что вы знаете, что это возможно.Но, как говорит @Euphoric, архитектура списков переходов очень проста: выбор места назначения (например, имени файла или URL) приводит к тому, что Windows запускает другой экземпляр приложения и передает это место назначения в качестве аргумента командной строки.Выбор задачи приводит к тому, что Windows запускает эту задачу, которая должна быть другим файлом.

Как разрешить этот кажущийся парадокс?Другой exe - вспомогательный exe, который связывается с основным приложением.Примеров этого не хватает, но я работаю над демо-презентацией в начале ноября и буду публиковать ее в блоге, когда я это сделаю.Возможно, этот архитектурный указатель поможет вам начать работу.

0 голосов
/ 19 августа 2013

Назначьте URL-адреса элементам списка переходов и используйте прослушиватель HTTP для вызова методов вашего приложения. Как это сопоставление URL с C # HttpListener

Кроме того, вы можете пойти по неудобному пути и использовать общий мьютекс, чтобы сделать ваше приложение единственным экземпляром и передавать аргументы командной строки через именованный канал. Но http-слушатель приятнее;)

...