Поделиться через


Краткое руководство: настройка съемного носителя в качестве устройства автозапуска (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

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

В этом разделе показано, как определить устройство тома в качестве устройства автозапуска.

Чтобы определить устройство тома в качестве устройства автозапуска, добавьте файл autorun.inf в корневой диск устройства. В файле autorun.inf добавьте ключ CustomEvent в раздел AutoRun. Когда устройство тома подключится к компьютеру, функция автозапуска найдет файл autorun.inf и будет рассматривать том как устройство. Функция автозапуска создаст событие автозапуска с помощью имени, которое вы ввели для ключа CustomEvent. Затем можно создать приложение и зарегистрировать его в качестве обработчика для события автозапуска. При подключении устройства к компьютеру автозапуск будет показывать приложение как обработчик для устройства тома. Подробнее о файлах autorun.inf см. в разделе о записях autorun.inf.

Изготовители устройств:: Функция автозапуска не скачивает автоматически приложение, которое вы создали в качестве обработчика для устройства. Однако пользователи могут, как всегда, получить приложение в Магазине Windows. Чтобы оптимизировать взаимодействие, используйте метаданные устройства для сопоставления приложения с устройством. Если сопоставить приложение с идентификатором взаимодействия устройства как автоматически устанавливаемое приложение, операционная система будет обнаруживать это сопоставление при подключении устройства к компьютеру. Если приложение не установлено на компьютере, операционная система автоматически скачает и установит его. Автозапуск представит пользователю приложение как первый вариант обработчика для устройства. Подробнее см. в разделе об автозапуске приложений Магазина Windows для устройства.

Цель: Создайте приложение для обработки пользовательского события автозапуска для устройства тома.

Необходимые условия

Для выполнения инструкций в этом кратком руководстве необходимо иметь устройство тома, например флэш-накопитель или карту памяти.

Microsoft Visual Studio

Инструкции

1. Создание файла autorun.inf

  • В корневой диск устройства тома добавьте файл с именем autorun.inf. Откройте файл autorun.inf и добавьте в него следующий текст.

    [AutoRun]
    CustomEvent=AutoPlayCustomEventQuickstart
    

2. Создание нового проекта и добавление объявлений автозапуска

  1. Откройте Visual Studio и выберите пункт New Project (Создать проект) в меню File (Файл). В разделе JavaScript выберите Windows Store (Магазин Windows). Назовите приложение AutoPlayCustomEvent и нажмите кнопку ОК.

  2. Откройте файл Package.appxmanifest и перейдите на вкладку Capabilities (Возможности). Выберите возможность Removable Storage (Съемные носители). Это дает приложению доступ к файлам и папкам на съемных устройствах хранения.

  3. В файле манифеста выберите вкладку Declarations (Объявления). В раскрывающемся списке Available Declarations (Доступные объявления) выберите AutoPlay Content (Автозапуск содержимого) и нажмите Add (Добавить). Выберите новый элемент AutoPlay Content (Автозапуск содержимого), добавленный к списку Supported Declarations (Поддерживаемые объявления).

    Примечание  Кроме того, вы можете добавить объявление AutoPlay Device (Автозапуск устройства) для вашего пользовательского события автозапуска.

     

  4. В разделе Launch Actions (Действия при запуске) объявления событий AutoPlay Content (Автозапуск содержимого) введите следующие значения для первого действия запуска.

    Параметр Значение
    Verb показать
    Action Display Name Показать папки
    Content Event AutoPlayCustomEventQuickstart

     

    Значение Content Event представляет собой текст, который вы указали для ключа CustomEvent в файле autorun.inf. Параметр Action Display Name определяет строку, отображаемую автозапуском для приложения. Параметр Verb определяет значение, передаваемое приложению для выбранного варианта. Для события автозапуска можно указать несколько действий при запуске и использовать параметр Verb, чтобы определить, какой вариант пользователь выбрал для приложения. Выбранный пользователем вариант можно узнать, проверив свойство verb аргументов события запуска, переданных приложению. Для параметра Команда можно использовать любое значение, кроме значения open, которое зарезервировано.

  5. В раскрывающемся списке Доступные объявления выберите Сопоставления типов файлов и нажмите кнопку Добавить. В разделе "Свойства" нового объявления Сопоставления типов файлов установите для поля Отображаемое имя значение Show .ms Files, а для поля Имя — значение ms_association. В разделе Поддерживаемые типы файлов нажмите кнопку Добавить. Для поля Тип файла установите значение .ms. Для событий автозапуска содержимого средство автозапуска отфильтровывает любые типы файлов, которые явно не связаны с приложением.

  6. Сохраните и закройте файл манифеста.

3. Добавление пользовательского интерфейса на HTML

  • Откройте файл Default.html и добавьте следующий HTML-код в разделе <body>.

    <h2>Files</h2>
    <div id="files" style="width:400px;height:600px;font-size:large;" />
    

4. Добавление кода активации

Код на этом этапе вызывает функцию для отображения папок в корневом диске устройства тома. Для событий автозапуска содержимого функция автозапуска передает корневую папку запоминающего устройства в аргументах запуска, передаваемых приложению. Вы можете получить эту папку из первого элемента свойства detail.files. Можно утверждать, что приложение было запущено в качестве обработчика для события автозапуска содержимого, если свойство detail.kind аргументов события активации возвращает значение Windows.ApplicationModel.Activation.ActivationKind.file.

  • Откройте папку js. Откройте файл Default.js и замените функцию по умолчанию onactivated следующим кодом.

    var filesDiv;
    
    app.onactivated = function (args) {
        if (args.detail.kind === activation.ActivationKind.file) {
            filesDiv = document.getElementById("files");
            displayFiles(args.detail.files[0]);
        }
    
        args.setPromise(WinJS.UI.processAll());
    };
    

5. Добавление кода для отображения имен папок

  • В файле Default.js добавьте следующий код после функции onactivated.

    function displayFiles(folder) {
        var options = new Windows.Storage.Search.QueryOptions();
        options.fileTypeFilter.append(".ms");
        var query = folder.createFileQueryWithOptions(options);
        query.getFilesAsync().done(
            function (files) {
                files.forEach(
                    function (f) {
                        filesDiv.innerHTML += "&nbsp;&nbsp;" + f.name + "<br/>";
                });
            });
    }
    

6. Сборка и запуск приложения

  1. Нажмите кнопку F5, чтобы выполнить сборку и развернуть приложение (в режиме отладки).
  2. Для запуска приложения вставьте карту памяти или другое запоминающее устройство в компьютер. Затем выберите приложение из списка вариантов обработчика автозапуска.

Краткая сводка и дальнейшие действия

С помощью этого учебника вы определили устройство тома как устройство автозапуска, задав имя пользовательского события автозапуска в файле autorun.inf. Затем вы создали приложение, которое регистрируется в качестве обработчика для данного пользовательского события.

Связанные разделы

Запуск приложения с помощью автозапуска