Библиотека 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, вы можете управлять соответствующей библиотекой.
Поддерживая синхронизацию
Может потребоваться, чтобы ваше приложение распознавало, когда пользователь вносит изменения в описание библиотеки, добавляет или удаляет оттуда папки или обновляет какие-либо папки, входящие в библиотеку. Есть несколько способов синхронизации в зависимости от требований вашего приложения. В большинстве приложений следует использовать Shell Programming Model с
Использование Shell Programming Model
Для определения изменений элементов в библиотеке средствами Shell Programming Model используйте
Знакомое окно управления библиотекой
И вот последняя составляющая часть библиотек Windows 7. Для соответствия между компонентами Windows и элементами управления содержимым в состав Windows 7 входит общее диалоговое окно управления библиотекой для использования в ваших приложениях. Если ваше приложение нуждается в управлении папками библиотеки, наподобие папки Музыка, запрос диалогового окна управления библиотекой (
По умолчанию диалоговое окно управления библиотекой запрещает добавление неподдерживаемых папок в библиотеки. Однако, если ваше приложение зависит от содержимого папок, которые не могут быть локально или удаленно проиндексированы 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)