![](http://img.youtube.com/vi/aWP1gHoDoOw/default.jpg)
![](http://img.youtube.com/vi/j5RBYrkvxPo/default.jpg)
![](http://img.youtube.com/vi/LJ5PnzsM_eI/default.jpg)
![](http://img.youtube.com/vi/_9lzkDV9S9A/default.jpg)
Библиотека Windows 7 Libraries .NET Sample Library (ч.7)
И вот новая статья из серии статей о библиотеках Windows 7. На текущий момент мы уже рассмотрели,
До Windows 7 и появления библиотек вы хранили ваши музыкальные файлы в папке Моя музыка. До Windows 7 когда вы ходили воспроизвести музыку в Windows Media Player, вам приходилось вручную указывать Windows Media Player нужную музыкальную папку и выбирать композицию. Если вы перемещали песню из папки, Windows Media Player не знал, что файл перемещен. Музыкальный файл по-прежнему отображался в списке воспроизведения, но когда приходило время воспроизвести композицию, перед вами появлялось надоедливое сообщение о том, что Windows Media Player не может найти указанный файл - все потому, что Windows Media Player не был синхронизирован с папкой Моя музыка. При таком раскладе Windows Media Player должен поддерживать собственную базу данных песен и локаций, а пользователь должен обновлять эту базу вручную.
С библиотеками Windows 7 такая ошибка куда меняя вероятна. Вы можете спросить почему? Что же, ответ очень прост. Windows Media Player, включенный в состав Windows 7, не поддерживает никакой внутренней базы данных песен, он полностью полагается на библиотеки Музыка, Видео и Изображения в Windows 7 и полностью синхронизирован с этими библиотеками. Это означает, что когда вы удаляете композицию из библиотеки Музыка, она более не будет представлена в списке воспроизведения Windows Media Player. Нижеприведенное изображение показывает, как, щелкнув правой кнопкой мыши на вкладку Music, вы можете управлять соответствующей библиотекой.
![](files/images/articles/windevblog/image_thumb_219855A5.png)
Поддерживая синхронизацию
Может потребоваться, чтобы ваше приложение распознавало, когда пользователь вносит изменения в описание библиотеки, добавляет или удаляет оттуда папки или обновляет какие-либо папки, входящие в библиотеку. Есть несколько способов синхронизации в зависимости от требований вашего приложения. В большинстве приложений следует использовать Shell Programming Model с
Использование Shell Programming Model
Для определения изменений элементов в библиотеке средствами Shell Programming Model используйте
Знакомое окно управления библиотекой
И вот последняя составляющая часть библиотек Windows 7. Для соответствия между компонентами Windows и элементами управления содержимым в состав Windows 7 входит общее диалоговое окно управления библиотекой для использования в ваших приложениях. Если ваше приложение нуждается в управлении папками библиотеки, наподобие папки Музыка, запрос диалогового окна управления библиотекой (
![](files/images/articles/windevblog/image_thumb_02FE64FC.png)
По умолчанию диалоговое окно управления библиотекой запрещает добавление неподдерживаемых папок в библиотеки. Однако, если ваше приложение зависит от содержимого папок, которые не могут быть локально или удаленно проиндексированы Windows Search, вы можете запросить диалоговое окно с флагом LMD_ALLOWUNINDEXABLENETWORKLOCATIONS, отменяющим стандартные настройки и позволяющим включать такие папки. Вы также можете использовать один из новых API, вроде SHAddFolderPathToLibrary, которые мы рассмотрели в статье о
Эта статья завершает наше путешествие по библиотекам Windows 7. Далее мы рассмотрим Managed Code API и приступим к публикациям о панели задач Windows 7.
Источник:
Перевод: Sibiryak
Комментарии
А рассказать как замутить библиотеку с собственной иконкой? (в одной из статей обещали...)
По теме
- Федеративный поиск в Windows 7
- Программируем панель задач Windows 7: панель миниатюр
- Использование сенсоров в приложении: реализация в managed-коде (ч.1)
- Использование сенсоров в приложении: реализация в native-коде (ч.1)
- Я тебя чувствую: использование платформы Sensor в Windows 7
- Доступны записи с Windows 7 PDC Boot Camp
- Fishbowl для Facebook с использованием новой панели задач Windows 7
- Программируем для Windows 7 в Visual Studio 2010
- Новая версия Windows API Code Pack
- Программирование служб Windows 7 с триггерами (ч.2)