Автозапуск
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2024 г. ) |
AutoPlay , функция, представленная в Windows 98 , проверяет вновь обнаруженные съемные носители и устройства и на основе такого контента, как изображения, музыка или видеофайлы, запускает соответствующее приложение для воспроизведения или отображения контента. [1] Он тесно связан с функцией операционной системы AutoRun . AutoPlay был создан с целью упростить использование периферийных устройств — MP3-плееров , карт памяти , USB-накопителей и других — за счет автоматического запуска программного обеспечения, необходимого для доступа и просмотра контента на этих устройствах. AutoPlay можно улучшить с помощью совместимого с AutoPlay программного и аппаратного обеспечения. Пользователь может настроить его для связывания любимых приложений с событиями и действиями автозапуска.
Обзор
[ редактировать ]
Когда пользователь вставляет компакт-диск в дисковод или подключает USB-камеру, Windows обнаруживает прибытие и запускает процесс проверки устройства или поиска носителя. Он ищет свойства устройства или контента на носителе, чтобы AutoPlay мог предоставить пользователю набор значимых опций. Когда пользователь делает определенный выбор, у него также есть возможность сделать этот выбор автоматическим, когда Windows в следующий раз увидит этот контент или устройство. [2]
Диалоговое окно автозапуска (в Windows XP и более поздних версиях) показывает результат установки пользователем DVD в устройство чтения DVD, в данном случае Д: ехать. AutoPlay определил, что контент, скорее всего, представляет собой DVD-фильм, и на основании этого решения предлагает пользователю набор действий. Эти действия называются обработчиками , и существуют наборы обработчиков, связанных с различными типами контента. Теперь пользователь может принять решение и нажать «ОК», чтобы продолжить. Однако, если на этом этапе они также поставят галочку «Всегда выполнять выбранное действие», им не будет предлагаться в следующий раз, когда этот конкретный тип контента будет обнаружен на этом конкретном диске; выбранное приложение запустится автоматически.
Свойства автозапуска
[ редактировать ]
Если пользователь сожалеет об этом решении или желает сделать автоматический выбор автозапуска для какого-либо конкретного типа контента, свойства автозапуска для любого диска доступны через значок «Мой компьютер» на рабочем столе. Выбор диска, а затем «Файл/Свойства» в меню Проводника Windows с последующим выбором вкладки «Автозапуск» открывает диалоговое окно, подобное показанному. Типы контента можно выбрать в раскрывающемся списке. Здесь в диалоговом окне показаны доступные обработчики, если AutoPlay когда-либо определяет тип контента на диске. Д: быть «Картинками». Выбор действия для выполнения делает это действие автоматическим для этого пользователя. Выбор «Каждый раз предлагать мне выбрать действие» удаляет любую ассоциацию; Автозапуск предложит в следующий раз.
Доступные типы контента различаются в зависимости от типа выбранного диска. Изображения, музыкальные файлы и видеофайлы доступны на любом диске. Приводы DVD и CD также могут иметь «Музыкальный компакт-диск» или «DVD-фильм», а Windows Vista добавляет в список другие, например «Видео-CD-фильм».
Смешанный контент
[ редактировать ]«Смешанное содержимое» — это результат того, что типы содержимого файлов попадают в более чем один тип содержимого «Изображения», «Музыкальные файлы» или «Видеофайлы». Обратите внимание, что компакт-диск, содержащий аудиодорожки, всегда рассматривается Windows как «Музыкальный компакт-диск», независимо от наличия дорожек с данными. [3] Таким образом, компакт-диск с файлами изображений, видеофайлами и аудиодорожками является «Музыкальным компакт-диском»; это не «Смешанный контент».
Если это результат решения об автозапуске, пользователю всегда отображается диалоговое окно автозапуска. Он будет содержать подборку приложений, которые будут сочтены подходящими для найденного контента. Таким образом, если на флэш-накопителе обнаружены как музыкальные файлы, так и видеофайлы, пользователь сможет выбрать обработчики для «Музыкальных файлов» и обработчики для «Видеофайлов». В этом случае пользователь не может сделать свой выбор выбором по умолчанию.
Однако в диалоговом окне свойств автозапуска для любого диска обычно в качестве типа контента указывается «Смешанный контент». Доступные здесь параметры ограничены действиями, которые могут обрабатывать файлы любого типа. Обычно единственным обработчиком, указанным здесь, является «Открыть папку для просмотра файлов». Это позволяет пользователю сделать это действие действием по умолчанию для смешанного контента.
Необъемные устройства
[ редактировать ]
Некоторые типы устройств не отображаются в виде букв дисков в «Моем компьютере». Они называются устройствами без тома , и AutoPlay обрабатывает их несколько иначе, чем устройства с томами , такие как компакт-диски и DVD-диски. Многие цифровые камеры и видеоустройства попадают в эту категорию.
Поскольку Windows не может проверить файлы на устройстве, чтобы определить тип содержимого, решение о дальнейших действиях остается за производителем. Производитель может зарегистрировать обработчики для своего конкретного устройства, добавить свое устройство в группу устройств (например, ZipDrives) или разрешить классу устройств (например, всем устройствам, которые являются видеокамерами) управлять своим устройством за них. Это определяет, какие обработчики будут перечислены в диалоговом окне автозапуска при обнаружении их устройства.

Поскольку устройствам этого типа не присвоена буква диска, к свойствам автозапуска нельзя получить доступ и изменить их через «Мой компьютер». Однако когда устройство подключено, обнаружение заставляет Windows поместить значок в область уведомлений панели задач (обычно называемую областью уведомлений ). Настройки автозапуска для этого устройства теперь можно изменить, щелкнув этот значок. На соседнем изображении показан значок, который появляется при подключении видеокамеры.
Настройки по умолчанию
[ редактировать ]При новой установке Windows набор приложений-обработчиков по умолчанию регистрируется в системе автозапуска. [2] Ниже приведены значения по умолчанию для Windows XP SP2. Действия и Поставщик — это просто строки, хранящиеся в обработчике. Они могут меняться, чтобы дать пользователю лучшее представление о том, что произойдет, если он выберет это действие. Они также могут меняться в соответствии с предпочтительным языком пользователя. Многие обработчики используют одно и то же приложение Windows; например, проигрыватель Windows Media используется для воспроизведения музыкальных файлов, а также фильмов на DVD. Слово «использование» добавляется автоматическим воспроизведением, чтобы аккуратно соединить две строки.
Содержание | Действие | Поставщик |
---|---|---|
Музыкальные файлы | Играть | Проигрыватель Windows Media |
Открыть папку для просмотра файлов | Проводник Windows | |
Картинки | Скопируйте фотографии в папку на моем компьютере | Мастер сканеров и камер Microsoft |
Просмотр слайд-шоу изображений | Средство просмотра изображений и факсов Windows | |
Распечатайте фотографии | Мастер фотопечати | |
Открыть папку для просмотра файлов | Проводник Windows | |
Видео файлы | Играть | Проигрыватель Windows Media |
Открыть папку для просмотра файлов | Проводник Windows | |
Смешанный контент | Открыть папку для просмотра файлов | Проводник Windows |
Музыкальный компакт-диск | Копировать музыку с компакт-диска | Проигрыватель Windows Media |
Воспроизвести аудио компакт-диск | Проигрыватель Windows Media | |
Открыть папку для просмотра файлов | Проводник Windows | |
DVD-фильм | Воспроизвести DVD-фильм | Проигрыватель Windows Media |
Открыть папку для просмотра файлов | Проводник Windows |
Windows 95 и Windows 98
[ редактировать ]В Windows 95 и Windows 98 есть примитивная версия автозапуска. Его единственная задача — обрабатывать аудио-компакт-диски, видео-компакт-диски и DVD-диски с фильмами и запускать приложения для работы с ними. Если новое поступление не попадает ни в одну из этих категорий, Windows продолжает обычный процесс автозапуска. [4]

Действия, предпринимаемые с аудио компакт-дисками и DVD-дисками с фильмами, по сути, рассматривают оба типа носителей, как если бы они были файлами ; Затем Explorer просто выполняет действие по умолчанию, связанное с этим типом файла. Типы файлов и связанные с ними действия можно просмотреть и изменить из любой папки проводника на вкладке «Типы файлов» меню «Инструменты/Параметры папок». Они хранятся в реестре в разделе HKEY_CLASSES_ROOT.
Если компакт-диск представляет собой аудиокомпакт-диск формата стандарта Красной книги , то Explorer вызывает действие по умолчанию, зарегистрированное для AudioCD Тип файла . Обычно для этого параметра установлено значение «Играть» и обычно вызывается cdplayer.exe . [5]
Если DVD представляет собой DVD-диск с фильмом, то Explorer вызывает действие по умолчанию, зарегистрированное для DVD Тип файла . DVD-диски с фильмами распознаются по наличию файла \video_ts\video_ts.ifo . Для действия DVD также обычно установлено значение «Воспроизведение» и обычно вызывается dvdplay.exe .
Тот факт, что проверка аудио компакт-дисков и DVD-дисков с фильмами выполняется до автозапуска, может привести к отключению автоматического воспроизведения этих типов носителей. Отключение автозапуска через реестр или групповую политику или поиск Сообщения QueryCancelAutoPlay внутри приложения не препятствуют автоматическому воспроизведению этих типов мультимедиа при вставке. [6]
Однако аудио компакт-диски можно отключить, отредактировав тип файла для AudioCD и нажав «Установить по умолчанию». Это приведет к удалению действия «Воспроизведение» по умолчанию для этого типа файла. В качестве альтернативы можно изменить запись (по умолчанию) в разделе Ключ HKEY_CLASSES_ROOT\AudioCD\Shell для "" (пустая строка) выполнит то же самое. Действие по отключению DVD-дисков с фильмами такое же: вместо AudioCD используется «DVD».
Соответствующие параметры реестра показаны ниже вместе с их значениями по умолчанию в Windows 98SE:
HKEY_CLASSES_ROOT\AudioCD\shell (Default) "Play" HKEY_CLASSES_ROOT\AudioCD\shell\play (Default) "&Play" HKEY_CLASSES_ROOT\AudioCD\shell\play\command (Default) "%SystemRoot%\cdplayer.exe /play %1" HKEY_CLASSES_ROOT\DVD\shell (Default) "Play" HKEY_CLASSES_ROOT\DVD\shell\play (Default) "&Play" HKEY_CLASSES_ROOT\DVD\shell\play\command (Default) "%SystemRoot%\system32\dvdplay.exe /play %1"
Объемы
[ редактировать ]Автозапуск
[ редактировать ]Если файл с именем autorun.inf существует в корневом каталоге файловой системы, настройки в этом файле могут дополнять параметры, представленные пользователю, или влиять на представление содержимого в режиме автозапуска. В Windows XP наличие этого файла может повлиять на ход процесса — AutoRun может приступить к выполнению приложения напрямую, без вмешательства пользователя. В Windows Vista AutoRun не может обойти AutoPlay таким образом; он может только добавлять к опциям, представленным пользователю. В разделе обработки информации статьи об автозапуске подробно описано, когда и если вызывается автозапуск.
Уровень автозапуска первоначально проверяет значения реестра Windows , чтобы решить, следует ли инициировать действия для какого-либо конкретного диска или типа диска. Если автозапуск отключен для вновь обнаруженного тома, то в этот момент процесс останавливается, фактически отключая автозапуск для этого тома.
Обнюхивание контента
[ редактировать ]После завершения AutoRun запускается AutoPlay, проверяя том на наличие содержимого. Это называется обнюхиванием контента . AutoPlay решает, является ли том аудио-CD, DVD с фильмом, пустым записываемым носителем (CD-R, CD-RW, DVD+R и т. д.) или общим томом, содержащим файлы.
В случае общего тома AutoPlay начинается с корневого каталога и выполняет поиск в файловой системе на глубину четырех уровней каталога ниже корневого каталога, чтобы найти типы файлов, которые попадают в определенные категории или «типы контента».
Если этот поиск занимает больше секунды или около того, диалоговое окно хода выполнения покажет происходящий процесс сканирования. Этот диалог можно легко спутать с операцией копирования в Проводнике; однако никакие файлы не копируются и не перемещаются.
Типы контента
[ редактировать ]Что касается анализа автозапуска, файлы делятся на три основные категории или «типа контента». Файлы вне этих категорий не представляют интереса:
Картинки | .jpg .gif .bmp .png ... |
---|---|
Музыка | .mp3 .wav .wma ... |
Видео | .avi .миль на галлон ... |
Содержимое считается «смешанным содержимым», если файлы попадают более чем в одну из трех категорий.
Контент считается неизвестным, если в процессе анализа контента не обнаружено контента, поддающегося категоризации. Это не означает, что файлов нет, просто нет файлов, относящихся к одному или нескольким из трех вышеупомянутых типов контента. В этом случае AutoPlay открывает окно проводника в корневом каталоге носителя, и на этом процесс завершается.
Воспринимаемый тип
[ редактировать ]Чтобы классифицировать файлы по трем типам контента, PerceivedType, для определения категории используется значение связанное с различными расширениями файлов. PerceivedType можно установить на «изображение», «аудио» или «видео», чтобы классифицировать файлы по типам контента «Изображения», «Музыка» или «Видео» соответственно. Существуют и другие типы восприятия, известные Windows (текстовый, сжатый, системный и прикладной), но они не имеют отношения к автозапуску.
Вся информация о типах файлов хранится в реестре в разделе HKEY_CLASSES_ROOT. Ниже представлена информация реестра PerceivedType для видеофайлов .avi и музыкальных файлов .mp3:
HKEY_CLASSES_ROOT\.avi (Default) "avifile" PerceivedType "video" HKEY_CLASSES_ROOT\.mp3 (Default) "mp3file" PerceivedType "audio"
Обработчик событий (объем)
[ редактировать ]EventHandler — это заголовок таблицы, которая устанавливает связь между различными обработчиками и инициирующим событием. В случае событий на основе тома EventHandlers генерируются полностью внутри AutoPlay без ссылки на реестр.
Обратите внимание, что рассмотрение В разделе AutoPlayHandlers реестра Windows раскрывается ContentTypeSniffers и Ключи ContentTypeHandlers . Помимо этих клавиш, различные подразделы и значения могут относиться к автозапуску на основе громкости и даже управлять им. Однако, начиная с Windows XP SP2, эти ключи определены исключительно для будущего использования и не доступны для автозапуска. [7]
Один из следующих предопределенных обработчиков событий выбирается исключительно на основе решения, принимаемого автоматическим запуском после проверки тома и анализа контента:
Тип носителя или контента | Обработчик событий |
---|---|
Картинки | ПоказатьPicturesOnArrival |
Музыкальные файлы | ИгратьМузыкаФайлыВкл.Прибытие |
Видео файлы | ВоспроизвестиВидеоFilesOnArrival |
Смешанный контент | MixedContentOnArrival |
Пустой CD-R/CD-RW | HandleCDBurningOnArrival |
Музыкальный компакт-диск | ВоспроизвестиCDAudioOnArrival |
DVD-фильм | ВоспроизвестиDVDMovieOnArrival |
Добавлено в Windows Vista | |
Фильмы Super VideoCD | ВоспроизведениеSuperVideoCDMovieOnArrival |
ВидеоCD фильмы | PlayVideoCDMovieOnArrival |
autorun.inf указывает исполняемый файл | АвтозапускINFLegacyArrival [8] |
Необъемы
[ редактировать ]Характеристики устройства
[ редактировать ]Поскольку Windows не может выполнять анализ содержимого на устройствах, не являющихся томами, AutoPlay анализирует эти устройства по их характеристикам, а не по их содержимому. Каждое вновь обнаруженное устройство имеет идентификационную информацию, обычно хранящуюся внутри самого устройства. Эта информация собирается перечислителями и используется для построения идентификационных строк, на которые Windows ссылается при доступе к устройству и обращении к нему. Идентификационная строка для конкретного устройства называется Device ID . [9]
Чтобы однозначно идентифицировать каждый экземпляр каждого установленного устройства, Windows присваивает идентификатор экземпляра каждому устройству . Этот идентификатор содержит информацию о местоположении или серийный номер, если он поддерживается.
Объединение идентификатора устройства с идентификатором экземпляра дает строку, которая однозначно идентифицирует отдельное устройство в системе. Это идентификатор экземпляра устройства . Пример строки от устройства PCI:
- PCI\VEN_1274&DEV_1371&SUBSYS_8030107B&REV_04\0&0E
Когда Windows обнаруживает новое устройство, она сохраняет экземпляры устройства в реестре из:
- HKLM\SYSTEM\CurrentControlSet\Enum
Диспетчер устройств Windows (расположен под значком «Система» на панели управления) покажет идентификатор экземпляра устройства для любого конкретного устройства. Получение свойств любого устройства, выбор вкладки «Сведения» в диалоговом окне «Свойства» и выбор «Идентификатор экземпляра устройства» в раскрывающемся списке позволят получить информацию.
Еще одной характеристикой каждого устройства является класс интерфейса устройства . [10] Это определяет контракт интерфейса, в котором устройство соглашается поддерживать базовый набор вызовов управления вводом/выводом, относящихся к этому классу интерфейса устройства. Например, устройство, согласившееся поддерживать контракт интерфейса клавиатуры, должно, среди прочего, поддерживать вызов IOCTL_KEYBOARD_QUERY_ATTRIBUTES IOCTL. Каждый класс представлен как большой универсальный уникальный номер, называемый GUID .
Устройство может зарегистрировать для себя множество GUID классов интерфейса устройства, заключая контракт на поддержку различных соответствующих вызовов интерфейса. Наиболее распространенным GUID класса интерфейса, относящимся к устройствам хранения данных, является GUID класса интерфейса устройства тома. {53F5630D-B6BF-11D0-94F2-00A0C91EFB8B }.
GUID класса интерфейса устройства можно найти в реестре в разделе:
- HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses .
Обработчик устройства
[ редактировать ]Когда анализируется устройство, не являющееся томом, AutoPlay ищет в нескольких местах реестра запись DeviceHandlers . Это просто строка, которая в сочетании с другой информацией выбирает EventHandler (который составляет таблицу обработчиков). Записи DeviceHandlers обычно помещаются в реестр производителем устройства. Существуют также более широкие категории устройств, которым предварительно назначены DeviceHandlers, например устройства видеокамер.
Первое место, куда смотрит AutoPlay, находится под Ключ параметров устройства экземпляра устройства. Например:
- USB\Vid_059b&Pid_0031&REV_0100
— это строка идентификации USB-устройства для USB-накопителя Iomega ZIP. В сочетании с серийным номером USB, скажем 059B003112010E93 , это формирует идентификатор экземпляра устройства. Таким образом, Ключ параметров устройства находится по адресу:
HKLM\...\Enum\USB\Vid_059b&Pid_0031\059B003112010E93\Device Parameters Icons "" NoMediaIcons "" Label "" DeviceHandlers "ZipDeviceHandler"
Значением DeviceHandlers в данном случае является «ZipDeviceHandler». Здесь также могут присутствовать и другие параметры устройства: Значки могут указывать значок, обозначающий устройство вместе с NoMediaIcons для представления устройства, когда на нем нет носителя. Метка определяет понятное имя устройства.
Если в экземпляре устройства не найдена запись DeviceHandlers, автозапуск проверяет наличие записи DeviceGroup, опять же в экземпляре устройства. Это позволяет целому набору устройств использовать общие параметры устройства.
HKLM\...\Enum\USB\Vid_059b&Pid_0031\059B003112010E93\Device Parameters DeviceGroup "ZipDrive100"
Параметры этой группы устройств хранятся в:
- HKLM\...\AutoPlayHandlers\DeviceGroups\ группа устройств
Итак, для примера группы ZipDrive100:
HKLM\...\AutoPlayHandlers\DeviceGroups\ZipDrive100 Icons "%SystemRoot%\system32\shell32.dll,-230\0\0" Label "Zip Drive 100" DeviceHandlers "ZipDeviceHandler"
Наконец, AutoPlay ищет соответствующие GUID класса интерфейса устройства. Параметры классов устройств хранятся в:
- HKLM\...\AutoPlayHandlers\DeviceClasses\ {classguid}
Вот запись, которую приложение Microsoft Movie Maker регистрирует для всех устройств с видеокамерами:
HKLM\...\AutoPlayHandlers\DeviceClasses\{CC7BFB41-F175-11D1-A392-00E0291F3959} DeviceHandlers "VideoCameraDeviceHandler" Label "@C:\Program Files\Movie Maker\wmm2res.dll,-63094" Icons "C:\WINDOWS\system32\shell32.dll,-317\0\0"
См. также
[ редактировать ]- Программное обеспечение, обеспечивающее аналогичную функциональность в других средах.
- gnome-менеджер громкости в GNOME
- Thunar (с использованием плагина thunar-volman) [11] ) в Xfce
Ссылки
[ редактировать ]- ^ «Использование аппаратного автозапуска» . Майкрософт, MSDN . Проверено 20 ноября 2019 г.
- ^ Jump up to: а б «Использование и настройка автозапуска» . Майкрософт, MSDN . Проверено 20 ноября 2019 г.
- ^ «Автозапуск в Windows XP» . Microsoft, журнал MSDN. Ноябрь 2001 года . Проверено 20 ноября 2019 г.
- ^ Как отключить функцию, позволяющую автоматически запускать компакт-диски и аудио компакт-диски , Microsoft, База знаний
- ^ Как настроить программу, используемую для воспроизведения аудио компакт-дисков , Microsoft, База знаний
- ^ Как отключить (W95) автозапуск , Microsoft, База знаний.
- ^ Обработчики типов контекста , Usenet, microsoft.public.platformsdk.shell.
- ^ Путешествие по островам Службы безопасности: заразительная привлекательность сувениров поставщиков , журнал TechNet
- ^ Строки идентификации устройства , Microsoft, MSDN.
- ^ Классы интерфейса устройства , Microsoft, MSDN
- ^ "projects:thunar-plugins:thunar-volman [Xfce Goodies]" . Goodies.xfce.org .
Внешние ссылки
[ редактировать ]- Автозапуск в Windows XP , журнал MSDN, ноябрь 2001 г.
- Реализация обработчика автозапуска , CodeProject