2009-11-23 1 views
3

Я использую Windows Code Code Pack для Microsoft .NET Framework, чтобы попробовать некоторые из новых возможностей пользовательского интерфейса панели задач Win7. Я кодирую в C#.Панель задач Windows 7 - jumplist, jumplistlink и jumplistitem

У меня есть вопрос относительно jumplists. Весь представленный пример кода предполагает, что записи в списке переходов используются для вызова для запуска конкретного приложения или открытия документа, например. текстовый документ в списке MRU или запустить mspaint.exe.

Я хотел бы реализовать некоторые элементы, которые позволяют мне устанавливать состояние в моем приложении (то есть приложение, которое взаимодействует с панелью задач). MSN Messenger делает это, например, когда вы можете установить свой статус (Busy, Offline и т. Д.).

Как я могу, я не могу создать JUmpListItem или JumpListLink, чтобы вести себя таким образом - он рассматривает их как приложения или документы.

Есть ли у кого-нибудь образцы того, как создать элемент, который вызывает событие в том же приложении, которое его создало? Я уверен, что это просто, но я очень глуп.

Большое спасибо за помощь.

+0

Эта статья о ** CodeProject ** может помочь [здесь] (http://www.codeproject.com/KB/WPF/MefFX.aspx). – t0mm13b

ответ

0

Использование TaskBarDemo, чтобы открыть объект, созданный вашим приложением должны быть ссылки, т.е. если ваша программа создает PDF файл, который вы могли бы сделать это:

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) 
     }); 

В противном случае вы должны убедиться, что ваш зарегистрированных зарегистрированными файловыми ассоциациями, для последних или часто используемых элементов.

У меня было несколько проблем с jumplists с пакетом API, теперь я использую VS 2010 Beta 2 и позволяю оболочке обрабатывать jumplists.

Надеюсь, что это поможет.

+0

Спасибо, но я не хочу создавать что-либо извне, я просто хочу отправить событие в свое приложение - скорее, как довольно контекстное меню. Возможно ли это с джамплистами? – mrbouffant

1

Я верю, что вам нужно будет вызвать ваше приложение с помощью специального набора флагов (например, запустить исполняемый файл с определенными аргументами). При запуске приложения вы проверите, какие флаги установлены, затем отправьте сообщение в основной экземпляр приложения и выйдите из нового экземпляра.

0

Эти задачи - это своего рода IShellLink. Затем вы должны вызвать AddUserTasks для ICustomDestinationList. Посмотрите образцы в Windows 7 Training Kit.