Меню Рубрики

Что такое списки переходов в windows 7

Использование списка переходов в Windows 7 (Часть 1)

Списки переходов впервые появились в операционной системе Windows 7. Благодаря им, можно быстро перейти непосредственно к тем документам, которые недавно использовались, почти в любом приложении, расположенному на панели задач. Для того чтобы вызвать область переходов, достаточно просто нажать на правую кнопку мыши на значке программы, расположенной на панели задач Windows.

Дизайн

Списки переходов разработаны так, чтобы полностью удовлетворить потребности пользователя в выполнении ежедневных задач. А именно:

Основные задачи программы. При создании списков переходов были продуманы основные задачи, которыми может воспользоваться пользователь после запуска программы. Под «задачами» следует понимать часто исполняемые в приложении действия, которые доступны всем пользователям приложения независимо от пользовательских шаблонов. Задания могут быть прикреплены или откреплены. К программам, с помощью которых можно создавать документы, скорее всего, пользователи обращаются для того, чтобы открыть недавно созданные документы. Для программ, которые отображают какое-то содержимое файлов (к примеру программа для просмотра рисунков), пользователи захотят заново открыть тот же контент. Для некоторых программ пользователям, к примеру, нужно делать такие действия, которые раньше не выполнялись, к примеру, создание новых сообщений, просмотр видео и пр.

Список назначений. При разработке списков переходов было продумано множество нюансов, благодаря которым пользователи смогли бы остановиться на стандартных списках переходов и не устанавливать себе стороннее программное обеспечение. Пользователей интересует быстрый доступ к файлам и каталогам, которые они недавно посещали (к примеру, привязки к сетевым ресурсам или часто используемым документам и каталогам). Под «назначениями» следует понимать элементы, появляющиеся в категориях «Недавние», «Часто используемые» или индивидуальных категориях. Назначениями могут быть файлы, папки, сайты или любые другие элементы, но не обязательно подкрепленные файлами. Назначения могут быть прикреплены или удалены пользователем из выпадающего списка. К примеру, не отображаются все страницы одного домена в списке переходов Internet Explorer, так как пользователю будет достаточно перейти только по адресу сайта, после чего он сможет найти интересующую страницу без проблем:

Часто используемые элементы не являются чрезмерно гранулированными. В некоторых случаях в списке переходов некоторые элементы группируются т.к. в противном случае это приведет к нехватке места в списке приложения. К примеру, вместо отображения всех страниц домена в Internet Explorer показывается только домен, а вместо отображения каждой песни в Windows Media Player в списке отображаются только названия альбомов:

В группе задачи списка переходов отображаются только основные задачи приложения. То есть, если у приложения есть только 3 основных задачи, то в списке переходов в группе «Задачи» отображается только 3 задачи, т.к. все остальные опции программы можно найти уже непосредственно в ней, и нет необходимости попусту загромождать эту группу. Пример:

В данном случае в списке переходов приложения «Заметки» можно найти только одну задачу.

Подсказки в списках переходов отображаются только в том случае, когда пользователю нужно подсказать для чего предназначен элемент списка. Подсказки отображаются только в том случае, когда нужно отобразить полный путь к файлу/каталогу, заголовок страницы и URL в Internet Explorer.

В данном случае подсказка отображается для часто используемой страницы в Internet Explorer

Группировка

Рекомендуется оставлять не менее 3 групп недавно использовавшихся элементов. Элементы в списках переходов всегда группируются для того, чтобы пользователь мог видеть недавно использовавшиеся элементы приложения.

В именах групп списков переходов используются стандартные названия групп. Это сделано с той целью, чтобы пользователь сразу мог понять для чего используется данная группа.

Закрепление элементов в списке переходов.

Для того, чтобы можно было постоянно пользоваться недавно использовавшимся элементом, можно закреплять элементы в списках переходов. Для этого достаточно навести указатель мыши на кнопку Закрепить в списке и нажать на нее.

Закрепление сетевых ресурсов в списке переходов проводника Windows описывалось здесь: Закрепление на панели задач Windows 7 сетевых дисков и приложений, находящихся на сетевых ресурсах

Статья опубликована в рамках конкурса «Наш выбор — Windows 7!». Оригинальный стиль автора сохранен.

Источник

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

Для начала загрузите Visual Studio 2008 Express Edition или более полную версию (C# или VB). Либо просто возьмите Visual Studio 2010 Beta 2 — она уже доступна и стоит того, чтобы ее загрузить. Все Express-издания бесплатны, и любая из версий (2008 или 2010) будет прекрасно работать с кодом, сопутствующим этой статье.

Что такое список переходов?

Списки переходов — новая концепция в Windows 7 , позволяющая разработчику создавать ярлыки (shortcuts) для пользователей прямо в контекстном меню значка своей программы на панели задач или в меню Пуск (Start). Эти ярлыки могут быть простыми ссылками на папку документов или библиотеку данного приложения, либо ссылками на командную строку запуска того же приложения с передачей какого-либо параметра для выполнения какой-то специфической задачи.

Вы можете использовать этот способ в Live Messenger для изменения онлайнового состояния, вывода нового окна сообщения или для открытия веб-страниц, относящихся к приложению. В общем, все это ярлыки — к URL или тому же исполняемому файлу с аргументом, вызывающим некое изменение.

Windows API Code Pack

Windows API Code Pack дает возможность задействовать преимущества специфических средств Windows Vista и Windows 7, недоступных через универсальную инфраструктуру, а также неуправляемых функций, которые не имеют смысла в общеязыковой исполняющей среде (CLR), используемой во всех поддерживаемых конфигурациях. Большая часть таких средств состоит из interop-оболочек (позволяющих взаимодействовать с неуправляемыми функциями из управляемого кода).

С помощью Code Pack вы получаете доступ к новой панели задач, Direct2D, DirectWrite, свойствам оболочки, спискам переходов и др. В комплект также включены многочисленные проекты с примерами кода, которые послужат вам отправной точкой, так что избегать новых возможностей нет никаких причин!

Добавление списка переходов

Добавить список переходов легко. Создав сам список, включите в него нужные элементы (ярлыки файлов или папок и задач). Затем можно выбрать, как будут показываться самые последние или часто используемые документы. Windows управляет списком документов пользователя, что снимает с вас часть работы.

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

Вот как все это делается.

Сначала добавьте две обязательные ссылки из Windows API Code Pack. Вы можете либо скомпилировать проект и ссылаться на DLL, либо напрямую включить необходимые проекты в свое решение:

Для удобства можно добавить пространство имен к блоку using, чтобы потом набирать более короткий текст:

Класс Microsoft.WindowsAPICodePack.Taskbar.JumpList — то место, где разворачивается большая часть действа. Для создания списка предназначен статический метод-фабрика CreateJumpList. Всегда начинайте с вызова этого метода, даже если приложение ранее создавало список переходов.

Private Sub CreateJumpList()

Dim jl As JumpList = JumpList.CreateJumpList()

private void CreateJumpList()

JumpList jl = JumpList.CreateJumpList();

Далее у вас есть выбор из нескольких вариантов — в зависимости от того, что именно вы хотите увидеть в списке. Базовой группой является список файлов. Вы можете выбрать отображение Recent files (последние файлы), Frequent files (часто используемые файлы) или ни один из них, но не оба варианта одновременно. Если вы ничего не выбираете на этом этапе, то автоматически получите вариант Recent files — при условии, что у вас есть зарегистрированный тип файлов.

‘ Показываем пользовательские файлы: Recent, Frequent или None

// Показываем пользовательские файлы: Recent, Frequent или None
jl.KnownCategoryToDisplay = JumpListKnownCategoryType.Recent;

Теперь вы можете добавить одну или более собственных категорий элементов. Это могут быть либо папки, либо файлы. Здесь действуют два очень важных правила.

  1. Файлы/папки должны существовать! При необходимости проверьте путь перед добавлением JumpListItem; если его нет, произойдет сбой.
  2. Добавляемые файлы должны относиться к типу, зарегистрированному для вашего приложения; в ином случае произойдет сбой или даже хуже: исключение будет сгенерировано не в той строке, где вы добавляете такие файлы, а по окончании настройки и попытке обновления списка.

В данном случае я закомментировал последний элемент, но вы могли бы использовать JumpListItem для реальных файлов в файловой системе и объекты JumpListLink для ссылок, не относящихся к файловой системе. И вновь не добавляйте JumpListItem, если не уверены в его наличии и в том, что он зарегистрирован.

‘ Добавляю свои ссылки (существительные)

Dim catActions As New JumpListCustomCategory(«Destinations»)

New JumpListLink(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), «My Pictures»), _

New JumpListLink(«http://blogs.msdn.com/coding4fun», «Visit Coding4Fun»), _

New JumpListLink(«http://code.msdn.microsoft.com/WindowsAPICodePack», «Windows API Code Pack»))

// Добавляю свои ссылки (существительные)

JumpListCustomCategory catActions = new JumpListCustomCategory(«Destinations»);

new JumpListLink(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), «My Pictures»),

new JumpListLink(«http://blogs.msdn.com/coding4fun», «Visit Coding4Fun»),

new JumpListLink(«http://code.msdn.microsoft.com/WindowsAPICodePack», «Windows API Code Pack»)

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

‘ Добавляем задачи наших пользователей (глаголы)

jl.AddUserTasks(New JumpListLink(Path.Combine(systemFolder, «notepad.exe»), «Open Notepad») _

‘ Добавляем задачи наших пользователей (глаголы)

jl.AddUserTasks(new JumpListLink(Path.Combine(systemFolder, «notepad.exe»), «Open Notepad»)

IconReference = new IconReference(Path.Combine(systemFolder, «notepad.exe»), 0)

Свойство IconReference указывает на значок, ссылаясь на DLL- или EXE-файл и задавая индекс в этом файле. Если вы хотите получить значок по умолчанию для исполняемого файла, с которым вы осуществляете связывание, указывайте EXE-файл с нулевым индексом.

В список можно добавлять разделители. Разделитель представлен классом JumpListSeparator и может быть добавлен вызовом AddUserTasks.

Последние ссылки в списке переходов указывают на наш же исполняемый файл. Это наиболее распространенный вариант использования списков перехода. Простой список с последними или часто используемыми файлами, конечно же, — штука хорошая, но возможность инициировать некие операции в самой программе, даже если она не запущена, по-настоящему удобна. Это почти что меню параметров командной строки запуска приложения!

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

Первый аргумент в командной строке всегда является полным именем исполняемого файла (вместе с путем). Свойство Arguments позволяет указывать аргументы командной строки, напрямую не видимые пользователям. В этом примере я определил три аргумента-заглушки. Если один из них передается, приложение меняет фон метки и сообщает, какой аргумент был передан.

jl.AddUserTasks(New JumpListLink(Assembly.GetEntryAssembly().Location, «Action 1 (Green)») _

jl.AddUserTasks(new JumpListLink(Assembly.GetEntryAssembly().Location, «Action 1 (Green)»)

IconReference = new IconReference(Assembly.GetEntryAssembly().Location, 0),

Ссылки по теме

Помощь
Задать вопрос
программы
обучение
экзамены
компьютеры