Avvio automatico con AutoPlayAuto-launching with AutoPlay

È possibile usare AutoPlay per fornire all'app un'opzione quando un utente connette un dispositivo al PC.You can use AutoPlay to provide your app as an option when a user connects a device to their PC. Sono inclusi dispositivi non del volume, ad esempio una fotocamera o un lettore multimediale, oppure dispositivi del volume come una chiavetta USB, una scheda SD o un DVD.This includes non-volume devices such as a camera or media player, or volume devices such as a USB thumb drive, SD card, or DVD. Puoi anche usare AutoPlay per offrire la tua app come opzione quando gli utenti condividono file tra due PC tramite prossimità (tocco).You can also use AutoPlay to offer your app as an option when users share files between two PCs by using proximity (tapping).

Nota    Se si è un produttore di dispositivi e si vuole associare l' app per dispositivo Microsoft Store come gestore AutoPlay per il dispositivo, è possibile identificare tale app nei metadati del dispositivo.Note  If you are a device manufacturer and you want to associate your Microsoft Store device app as an AutoPlay handler for your device, you can identify that app in the device metadata. Per altre informazioni, vedere AutoPlay per Microsoft Store app per dispositivi.For more info, see AutoPlay for Microsoft Store device apps.

Registrare un'app per contenuto AutoPlayRegister for AutoPlay content

Puoi registrare le app come opzioni per eventi contenuto AutoPlay.You can register apps as options for AutoPlay content events. Gli eventi contenuto AutoPlay vengono generati quando si inserisce nel PC un dispositivo del volume, come la scheda di memoria di una fotocamera, una chiavetta USB o un DVD.AutoPlay content events are raised when a volume device such as a camera memory card, thumb drive, or DVD is inserted into the PC. Questa sezione mostra come identificare l'app come opzione AutoPlay quando viene inserito un dispositivo del volume di una fotocamera.Here we show how to identify your app as an AutoPlay option when a volume device from a camera is inserted.

In questa esercitazione hai creato un'app che visualizza i file di immagine o li copia in Immagini.In this tutorial, you created an app that displays image files or copies them to Pictures. Hai registrato l'app per l'evento contenuto AutoPlay ShowPicturesOnArrival.You registered the app for the AutoPlay ShowPicturesOnArrival content event.

AutoPlay genera anche eventi contenuto per il contenuto condiviso tra PC tramite prossimità (tocco).AutoPlay also raises content events for content shared between PCs using proximity (tapping). Puoi usare il codice e i passaggi qui illustrati per gestire file condivisi tra PC che usano la prossimità.You can use the steps and code in this section to handle files that are shared between PCs that use proximity. La tabella seguente contiene un elenco degli eventi contenuto di AutoPlay disponibili per la condivisione del contenuto tramite prossimità.The following table lists the AutoPlay content events that are available for sharing content by using proximity.

AzioneAction Evento contenuto AutoPlayAutoPlay content event
Condivisione musicaSharing music PlayMusicFilesOnArrivalPlayMusicFilesOnArrival
Condivisione videoSharing videos PlayVideoFilesOnArrivalPlayVideoFilesOnArrival

  Quando i file vengono condivisi tramite prossimità, la proprietà Files dell'oggetto FileActivatedEventArgs contiene un riferimento a una cartella radice contenente tutti i file condivisi.When files are shared by using proximity, the Files property of the FileActivatedEventArgs object contains a reference to a root folder that contains all of the shared files.

Passaggio 1: creare un nuovo progetto e aggiungere dichiarazioni AutoPlayStep 1: Create a new project and add AutoPlay declarations

  1. Apri Microsoft Visual Studio e scegli Nuovo progetto dal menu File.Open Microsoft Visual Studio and select New Project from the File menu. Nella sezione Visual C#, in Windows seleziona App vuota (Windows universale).In the Visual C# section, under Windows, select Blank App (Universal Windows). Assegna all'app il nome AutoPlayDisplayOrCopyImages e fai clic su OK.Name the app AutoPlayDisplayOrCopyImages and click OK.
  2. Aprire il file Package. appxmanifest e selezionare la scheda capabilities (funzionalità ). Selezionare le funzionalità di archiviazione rimovibile e raccolta immagini .Open the Package.appxmanifest file and select the Capabilities tab. Select the Removable Storage and Pictures Library capabilities. In questo modo l'app può accedere ai dispositivi di archiviazione rimovibili della memoria della fotocamera e alle immagini locali.This gives the app access to removable storage devices for camera memory, and access to local pictures.
  3. Nel file manifesto selezionare la scheda dichiarazioni . Nell'elenco a discesa dichiarazioni disponibili selezionare riproduzione automatica contenuto e fare clic su Aggiungi.In the manifest file, select the Declarations tab. In the Available Declarations drop-down list, select AutoPlay Content and click Add. Seleziona la nuova voce Contenuto AutoPlay aggiunta all'elenco Dichiarazioni supportate.Select the new AutoPlay Content item that was added to the Supported Declarations list.
  4. Una dichiarazione Contenuto AutoPlay identifica l'app come opzione quando AutoPlay genera un evento contenuto.An AutoPlay Content declaration identifies your app as an option when AutoPlay raises a content event. L'evento si basa sul contenuto di un dispositivo del volume, quale un DVD o una chiavetta USB.The event is based on the content of a volume device such as a DVD or a thumb drive. AutoPlay esamina il contenuto del dispositivo del volume e determina l'evento contenuto da generare.AutoPlay examines the content of the volume device and determines which content event to raise. Se la radice del volume contiene una cartella DCIM, AVCHD o ACHD privata \ oppure se un utente ha abilitato scegliere le operazioni da eseguire con ogni tipo di supporto nel pannello di controllo AutoPlay e le immagini si trovano nella radice del volume, quindi AutoPlay genera l'evento ShowPicturesOnArrival .If the root of the volume contains a DCIM, AVCHD, or PRIVATE\ACHD folder, or if a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel and pictures are found in the root of the volume, then AutoPlay raises the ShowPicturesOnArrival event. Nella sezione Azioni di avvio immetti i valori indicati nella tabella 1 di seguito per la prima azione di avvio.In the Launch Actions section, enter the values from Table 1 below for the first launch action.
  5. Nella sezione Azioni di avvio per l'elemento Contenuto AutoPlay fai clic su Aggiungi nuova per aggiungere una seconda azione di avvio.In the Launch Actions section for the AutoPlay Content item, click Add New to add a second launch action. Immetti i valori indicati nella tabella 2 di seguito per la seconda azione di avvio.Enter the values in Table 2 below for the second launch action.
  6. Seleziona Associazioni tipi file nell'elenco a discesa Dichiarazioni disponibili e fai clic su Aggiungi.In the Available Declarations drop-down list, select File Type Associations and click Add. Nelle proprietà della nuova dichiarazione delle associazioni dei tipi di file , impostare il campo nome visualizzato su AutoPlay Copy o show images e il campo Name su Image _ Association1.In the Properties of the new File Type Associations declaration, set the Display Name field to AutoPlay Copy or Show Images and the Name field to image_association1. Nella sezione Tipi di file supportati fai clic su Aggiungi nuovo.In the Supported File Types section, click Add New. Imposta il campo Tipo di file su .jpg.Set the File Type field to .jpg. Nella sezione Tipi di file supportati imposta il campo Tipo di file della nuova associazione su .png.In the Supported File Types section, set the File Type field of the new file association to .png. Per quanto riguarda gli eventi contenuto, AutoPlay filtra ed esclude tutti i tipi di file non esplicitamente associati alla tua app.For content events, AutoPlay filters out any file types that are not explicitly associated with your app.
  7. Salvare e chiudere il file manifesto.Save and close the manifest file.

Tabella 1Table 1

ImpostazioneSetting ValoreValue
VerboVerb showshow
Nome visualizzato azioneAction Display Name Mostra immaginiShow Pictures
Evento contenutoContent Event ShowPicturesOnArrivalShowPicturesOnArrival

L'impostazione Nome visualizzato azione identifica la stringa visualizzata da AutoPlay per la tua app.The Action Display Name setting identifies the string that AutoPlay displays for your app. L'impostazione Verbo identifica un valore passato all'app per l'opzione selezionata.The Verb setting identifies a value that is passed to your app for the selected option. È possibile specificare più azioni di avvio per un evento AutoPlay e usare l'impostazione del verbo per determinare l'opzione selezionata dall'utente per l'app.You can specify multiple launch actions for an AutoPlay event and use the Verb setting to determine which option a user has selected for your app. È possibile specificare l'opzione selezionata dall'utente controllando la proprietà Verb degli argomenti dell'evento Startup passati all'app.You can tell which option the user selected by checking the verb property of the startup event arguments passed to your app. È possibile usare qualsiasi valore per l'impostazione del verbo eccetto, Open, che è riservato.You can use any value for the Verb setting except, open, which is reserved.

Tabella 2Table 2

ImpostazioneSetting ValoreValue
VerboVerb copycopy
Nome visualizzato azioneAction Display Name Copia immagini nella raccoltaCopy Pictures Into Library
Evento contenutoContent Event ShowPicturesOnArrivalShowPicturesOnArrival

Passaggio 2: aggiungere l'interfaccia utente XAMLStep 2: Add XAML UI

Apri il file MainPage.xaml e aggiungi il codice XAML seguente alla sezione predefinita <Grid>.Open the MainPage.xaml file and add the following XAML to the default <Grid> section.

<TextBlock FontSize="18">File List</TextBlock>
<TextBlock x:Name="FilesBlock" HorizontalAlignment="Left" TextWrapping="Wrap"
           VerticalAlignment="Top" Margin="0,20,0,0" Height="280" Width="240" />
<Canvas x:Name="FilesCanvas" HorizontalAlignment="Left" VerticalAlignment="Top"
        Margin="260,20,0,0" Height="280" Width="100"/>

Passaggio 3: aggiungere il codice di inizializzazioneStep 3: Add initialization code

Il codice in questo passaggio verifica il valore del verbo nella proprietà Verb, che è uno degli argomenti di avvio passati all'app durante l'evento OnFileActivated.The code in this step checks the verb value in the Verb property, which is one of the startup arguments passed to the app during the OnFileActivated event. Il codice chiama quindi un metodo correlato all'opzione selezionata dall'utente.The code then calls a method related to the option that the user selected. Per l'evento memoria fotocamera, AutoPlay passa la cartella radice dell'archivio della fotocamera all'app.For the camera memory event, AutoPlay passes the root folder of the camera storage to the app. Puoi recuperare questa cartella dal primo elemento della proprietà Files.You can retrieve this folder from the first element of the Files property.

Apri il file App.xaml.cs e aggiungi il codice seguente alla classe App.Open the App.xaml.cs file and add the following code to the App class.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
    if (args.Verb == "show")
    {
        Frame rootFrame = (Frame)Window.Current.Content;
        MainPage page = (MainPage)rootFrame.Content;

        // Call DisplayImages with root folder from camera storage.
        page.DisplayImages((Windows.Storage.StorageFolder)args.Files[0]);
    }

    if (args.Verb == "copy")
    {
        Frame rootFrame = (Frame)Window.Current.Content;
        MainPage page = (MainPage)rootFrame.Content;

        // Call CopyImages with root folder from camera storage.
        page.CopyImages((Windows.Storage.StorageFolder)args.Files[0]);
    }

    base.OnFileActivated(args);
}

Nota    I DisplayImages CopyImages metodi e vengono aggiunti nei passaggi seguenti.Note  The DisplayImages and CopyImages methods are added in the following steps.

Passaggio 4: aggiungere il codice per la visualizzazione delle immaginiStep 4: Add code to display images

Nel file MainPage.xaml.cs aggiungere il codice seguente alla classe MainPage .In the MainPage.xaml.cs file add the following code to the MainPage class.

async internal void DisplayImages(Windows.Storage.StorageFolder rootFolder)
{
    // Display images from first folder in root\DCIM.
    var dcimFolder = await rootFolder.GetFolderAsync("DCIM");
    var folderList = await dcimFolder.GetFoldersAsync();
    var cameraFolder = folderList[0];
    var fileList = await cameraFolder.GetFilesAsync();
    for (int i = 0; i < fileList.Count; i++)
    {
        var file = (Windows.Storage.StorageFile)fileList[i];
        WriteMessageText(file.Name + "\n");
        DisplayImage(file, i);
    }
}

async private void DisplayImage(Windows.Storage.IStorageItem file, int index)
{
    try
    {
        var sFile = (Windows.Storage.StorageFile)file;
        Windows.Storage.Streams.IRandomAccessStream imageStream =
            await sFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
        Windows.UI.Xaml.Media.Imaging.BitmapImage imageBitmap =
            new Windows.UI.Xaml.Media.Imaging.BitmapImage();
        imageBitmap.SetSource(imageStream);
        var element = new Image();
        element.Source = imageBitmap;
        element.Height = 100;
        Thickness margin = new Thickness();
        margin.Top = index * 100;
        element.Margin = margin;
        FilesCanvas.Children.Add(element);
    }
    catch (Exception e)
    {
       WriteMessageText(e.Message + "\n");
    }
}

// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;

private async void WriteMessageText(string message, bool overwrite = false)
{
    await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            if (overwrite)
                FilesBlock.Text = message;
            else
                FilesBlock.Text += message;
        });
}

Passaggio 5: aggiungere codice alle immagini da copiareStep 5: Add code to copy images

Nel file MainPage.xaml.cs aggiungere il codice seguente alla classe MainPage .In the MainPage.xaml.cs file add the following code to the MainPage class.

async internal void CopyImages(Windows.Storage.StorageFolder rootFolder)
{
    // Copy images from first folder in root\DCIM.
    var dcimFolder = await rootFolder.GetFolderAsync("DCIM");
    var folderList = await dcimFolder.GetFoldersAsync();
    var cameraFolder = folderList[0];
    var fileList = await cameraFolder.GetFilesAsync();

    try
    {
        var folderName = "Images " + DateTime.Now.ToString("yyyy-MM-dd HHmmss");
        Windows.Storage.StorageFolder imageFolder = await
            Windows.Storage.KnownFolders.PicturesLibrary.CreateFolderAsync(folderName);

        foreach (Windows.Storage.IStorageItem file in fileList)
        {
            CopyImage(file, imageFolder);
        }
    }
    catch (Exception e)
    {
        WriteMessageText("Failed to copy images.\n" + e.Message + "\n");
    }
}

async internal void CopyImage(Windows.Storage.IStorageItem file,
                              Windows.Storage.StorageFolder imageFolder)
{
    try
    {
        Windows.Storage.StorageFile sFile = (Windows.Storage.StorageFile)file;
        await sFile.CopyAsync(imageFolder, sFile.Name);
        WriteMessageText(sFile.Name + " copied.\n");
    }
    catch (Exception e)
    {
        WriteMessageText("Failed to copy file.\n" + e.Message + "\n");
    }
}

Passaggio 6: compilare ed eseguire l'appStep 6: Build and run the app

  1. Premi F5 per compilare e distribuire l'app in modalità debug.Press F5 to build and deploy the app (in debug mode).
  2. Per eseguire l'app, inserisci nel PC la scheda di memoria di una fotocamera o un altro dispositivo di archiviazione.To run your app, insert a camera memory card or another storage device from a camera into your PC. Seleziona quindi una delle opzioni dell'evento contenuto che hai specificato nel file package.appxmanifest dall'elenco di opzioni AutoPlay.Then, select one of the content event options that you specified in your package.appxmanifest file from the AutoPlay list of options. Questo codice di esempio si limita a visualizzare o copiare immagini nella cartella DCIM della scheda di memoria di una fotocamera.This sample code only displays or copies pictures in the DCIM folder of a camera memory card. Se la scheda memoria della fotocamera archivia le immagini in una cartella ACHD AVCHD o privata \ , sarà necessario aggiornare il codice di conseguenza.If your camera memory card stores pictures in an AVCHD or PRIVATE\ACHD folder, you will need to update the code accordingly. Nota    Se non si ha una scheda di memoria della fotocamera, è possibile usare un'unità flash se contiene una cartella denominata DCIM nella radice e se la cartella DCIM include una sottocartella che contiene immagini.Note  If you don't have a camera memory card, you can use a flash drive if it has a folder named DCIM in the root and if the DCIM folder has a subfolder that contains images.

Registrare un'app per un dispositivo AutoPlayRegister for an AutoPlay device

Puoi registrare le app come opzioni per eventi dispositivo AutoPlay.You can register apps as options for AutoPlay device events. Gli eventi dispositivo AutoPlay vengono generati quando un dispositivo viene collegato a un PC.AutoPlay device events are raised when a device is connected to a PC.

Questa sezione descrive come identificare la tua app come opzione AutoPlay quando una fotocamera viene collegata a un PC.Here we show how to identify your app as an AutoPlay option when a camera is connected to a PC. L'app viene registrata come gestore per l' evento \ ImageSourceAutoPlay di WPD .The app registers as a handler for the WPD\ImageSourceAutoPlay event. Si tratta di un evento comune generato dal sistema WPD (Windows Portable Device) quando una fotocamera o un altro dispositivo di acquisizione immagini notifica se stesso come ImageSource mediante MTP.This is a common event that the Windows Portable Device (WPD) system raises when cameras and other imaging devices notify it that they are an ImageSource using MTP. Per altre info, vedi Dispositivi portatili Windows.For more info, see Windows Portable Devices.

Importante    Le API Windows. Devices. Portable. StorageDevice fanno parte del gruppo di dispositivi desktop.Important  The Windows.Devices.Portable.StorageDevice APIs are part of the desktop device family. Le app possono usare queste API solo nei dispositivi Windows 10 della famiglia di dispositivi desktop, ad esempio i PC.Apps can use these APIs only on Windows 10 devices in the desktop device family, such as PCs.

 

Passaggio 1: creare un nuovo progetto e aggiungere dichiarazioni AutoPlayStep 1: Create a new project and add AutoPlay declarations

  1. Apri Visual Studio e scegli Nuovo progetto dal menu File.Open Visual Studio and select New Project from the File menu. Nella sezione Visual C#, in Windows seleziona App vuota (Windows universale).In the Visual C# section, under Windows, select Blank App (Universal Windows). Denominare l'app AutoPlayDevice _ camera e fare clic su OK.Name the app AutoPlayDevice_Camera and click OK.
  2. Aprire il file Package. appxmanifest e selezionare la scheda capabilities (funzionalità ). Selezionare la funzionalità di archiviazione rimovibile .Open the Package.appxmanifest file and select the Capabilities tab. Select the Removable Storage capability. In questo modo l'app potrà accedere ai dati memorizzati nella fotocamera come un dispositivo del volume di archiviazione rimovibile.This gives the app access to the data on the camera as a removable storage volume device.
  3. Nel file manifesto selezionare la scheda dichiarazioni . Nell'elenco a discesa dichiarazioni disponibili selezionare AutoPlay Device , quindi fare clic su Aggiungi.In the manifest file, select the Declarations tab. In the Available Declarations drop-down list, select AutoPlay Device and click Add. Seleziona la nuova voce Dispositivo AutoPlay aggiunta all'elenco Dichiarazioni supportate.Select the new AutoPlay Device item that was added to the Supported Declarations list.
  4. Una dichiarazione Dispositivo AutoPlay identifica l'app come opzione quando AutoPlay genera un evento dispositivo per eventi noti.An AutoPlay Device declaration identifies your app as an option when AutoPlay raises a device event for known events. Nella sezione Azioni di avvio immetti i valori indicati nella tabella 1 di seguito per la prima azione di avvio.In the Launch Actions section, enter the values in the table below for the first launch action.
  5. Seleziona Associazioni tipi file nell'elenco a discesa Dichiarazioni disponibili e fai clic su Aggiungi.In the Available Declarations drop-down list, select File Type Associations and click Add. Nelle proprietà della nuova dichiarazione delle associazioni dei tipi di file , impostare il campo nome visualizzato in modo da visualizzare le immagini dalla fotocamera e il campo nome alla fotocamera _ Association1.In the Properties of the new File Type Associations declaration, set the Display Name field to Show Images from Camera and the Name field to camera_association1. Nella sezione Tipi di file supportati fai clic su Aggiungi nuovo (se necessario).In the Supported File Types section, click Add New (if needed). Imposta il campo Tipo di file su .jpg.Set the File Type field to .jpg. Nella sezione Tipi di file supportati fai di nuovo clic su Aggiungi nuovo.In the Supported File Types section, click Add New again. Imposta il campo Tipo di file della nuova associazione di file su .png.Set the File Type field of the new file association to .png. Per quanto riguarda gli eventi contenuto, AutoPlay filtra ed esclude tutti i tipi di file non esplicitamente associati alla tua app.For content events, AutoPlay filters out any file types that are not explicitly associated with your app.
  6. Salvare e chiudere il file manifesto.Save and close the manifest file.
ImpostazioneSetting ValoreValue
VerboVerb showshow
Nome visualizzato azioneAction Display Name Mostra immaginiShow Pictures
Evento contenutoContent Event WPD \ ImageSourceWPD\ImageSource

L'impostazione Nome visualizzato azione identifica la stringa visualizzata da AutoPlay per la tua app.The Action Display Name setting identifies the string that AutoPlay displays for your app. L'impostazione Verbo identifica un valore passato all'app per l'opzione selezionata.The Verb setting identifies a value that is passed to your app for the selected option. È possibile specificare più azioni di avvio per un evento AutoPlay e usare l'impostazione del verbo per determinare l'opzione selezionata dall'utente per l'app.You can specify multiple launch actions for an AutoPlay event and use the Verb setting to determine which option a user has selected for your app. È possibile specificare l'opzione selezionata dall'utente controllando la proprietà Verb degli argomenti dell'evento Startup passati all'app.You can tell which option the user selected by checking the verb property of the startup event arguments passed to your app. È possibile usare qualsiasi valore per l'impostazione del verbo eccetto, Open, che è riservato.You can use any value for the Verb setting except, open, which is reserved. Per un esempio dell'uso di più verbi in una singola app, vedi Registrare un'app per contenuto AutoPlay.For an example of using multiple verbs in a single app, see Register for AutoPlay content.

Passaggio 2: aggiungere il riferimento all'assembly per le estensioni desktopStep 2: Add assembly reference for the desktop extensions

Le API necessarie per accedere alla memoria in un dispositivo portatile Windows, Windows.Devices.Portable.StorageDevice, fanno parte della famiglia di dispositivi desktop.The APIs required to access storage on a Windows Portable Device, Windows.Devices.Portable.StorageDevice, are part of the desktop desktop device family. Ciò significa che è richiesto un assembly speciale per l'uso delle API e che le relative chiamate funzionano solo su un dispositivo della famiglia di dispositivi desktop (ad esempio un PC).This means a special assembly is required to use the APIs and those calls will only work on a device in the desktop device family (such as a PC).

  1. In Esplora soluzioni fai clic con il pulsante destro del mouse su Riferimenti e quindi scegli Aggiungi riferimento.In Solution Explorer, right click on References and then Add Reference....
  2. Espandi Universal Windows e fai clic su Estensioni.Expand Universal Windows and click Extensions.
  3. Seleziona quindi Windows Desktop Extensions for the UWP e fai clic su OK.Then select Windows Desktop Extensions for the UWP and click OK.

Passaggio 3: aggiungere l'interfaccia utente XAMLStep 3: Add XAML UI

Apri il file MainPage.xaml e aggiungi il codice XAML seguente alla sezione predefinita <Grid>.Open the MainPage.xaml file and add the following XAML to the default <Grid> section.

<StackPanel Orientation="Vertical" Margin="10,0,-10,0">
    <TextBlock FontSize="24">Device Information</TextBlock>
    <StackPanel Orientation="Horizontal">
        <TextBlock x:Name="DeviceInfoTextBlock" FontSize="18" Height="400" Width="400" VerticalAlignment="Top" />
        <ListView x:Name="ImagesList" HorizontalAlignment="Left" Height="400" VerticalAlignment="Top" Width="400">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Vertical">
                        <Image Source="{Binding Path=Source}" />
                        <TextBlock Text="{Binding Path=Name}" />
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapGrid Orientation="Horizontal" ItemHeight="100" ItemWidth="120"></WrapGrid>
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        </ListView>
    </StackPanel>
</StackPanel>

Passaggio 4: aggiungere il codice di attivazioneStep 4: Add activation code

Il codice di questo passaggio fa riferimento alla fotocamera come a un oggetto StorageDevice passando l'ID informazioni dispositivo della fotocamera al metodo FromId.The code in this step references the camera as a StorageDevice by passing the device information Id of the camera to the FromId method. L'ID informazioni sul dispositivo della fotocamera viene ottenuto eseguendo prima il cast degli argomenti dell'evento come DeviceActivatedEventArgse quindi ottenendo il valore dalla proprietà DeviceInformationId .The device information Id of the camera is obtained by first casting the event arguments as DeviceActivatedEventArgs, and then getting the value from the DeviceInformationId property.

Apri il file App.xaml.cs e aggiungi il codice seguente alla classe App.Open the App.xaml.cs file and add the following code to the App class.

protected override void OnActivated(IActivatedEventArgs args)
{
   if (args.Kind == ActivationKind.Device)
   {
      Frame rootFrame = null;
      // Ensure that the current page exists and is activated
      if (Window.Current.Content == null)
      {
         rootFrame = new Frame();
         rootFrame.Navigate(typeof(MainPage));
         Window.Current.Content = rootFrame;
      }
      else
      {
         rootFrame = Window.Current.Content as Frame;
      }
      Window.Current.Activate();

      // Make sure the necessary APIs are present on the device
      bool storageDeviceAPIPresent =
      Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Devices.Portable.StorageDevice");

      if (storageDeviceAPIPresent)
      {
         // Reference the current page as type MainPage
         var mPage = rootFrame.Content as MainPage;

         // Cast the activated event args as DeviceActivatedEventArgs and show images
         var deviceArgs = args as DeviceActivatedEventArgs;
         if (deviceArgs != null)
         {
            mPage.ShowImages(Windows.Devices.Portable.StorageDevice.FromId(deviceArgs.DeviceInformationId));
         }
      }
      else
      {
         // Handle case where APIs are not present (when the device is not part of the desktop device family)
      }

   }

   base.OnActivated(args);
}

Nota    Il ShowImages metodo viene aggiunto nel passaggio seguente.Note  The ShowImages method is added in the following step.

Passaggio 5: aggiungere il codice per la visualizzazione delle informazioni sul dispositivoStep 5: Add code to display device information

Puoi ottenere le informazioni sulla fotocamera dalle proprietà della classe StorageDevice.You can obtain information about the camera from the properties of the StorageDevice class. Il codice di questo passaggio visualizza all'utente il nome del dispositivo e altre informazioni mentre l'app è in esecuzione.The code in this step displays the device name and other info to the user when the app runs. Il codice chiama quindi i metodi GetImageList e GetThumbnail, che dovrai aggiungere nel prossimo passaggio, per visualizzare anteprime delle immagini archiviate nella fotocamera.The code then calls the GetImageList and GetThumbnail methods, which you will add in the next step, to display thumbnails of the images stored on the camera

Nel file MainPage.xaml.cs aggiungi il codice seguente alla classe MainPage.In the MainPage.xaml.cs file, add the following code to the MainPage class.

private Windows.Storage.StorageFolder rootFolder;

internal async void ShowImages(Windows.Storage.StorageFolder folder)
{
    DeviceInfoTextBlock.Text = "Display Name = " + folder.DisplayName + "\n";
    DeviceInfoTextBlock.Text += "Display Type =  " + folder.DisplayType + "\n";
    DeviceInfoTextBlock.Text += "FolderRelativeId = " + folder.FolderRelativeId + "\n";

    // Reference first folder of the device as the root
    rootFolder = (await folder.GetFoldersAsync())[0];
    var imageList = await GetImageList(rootFolder);

    foreach (Windows.Storage.StorageFile img in imageList)
    {
        ImagesList.Items.Add(await GetThumbnail(img));
    }
}

Nota    I GetImageList GetThumbnail metodi e vengono aggiunti nel passaggio seguente.Note  The GetImageList and GetThumbnail methods are added in the following step.

Passaggio 6: aggiungere il codice per la visualizzazione delle immaginiStep 6: Add code to display images

Il codice di questo passaggio visualizza le anteprime delle immagini memorizzate nella fotocamera.The code in this step displays thumbnails of the images stored on the camera. Il codice effettua chiamate asincrone alla fotocamera per recuperare l'anteprima dell'immagine.The code makes asynchronous calls to the camera to get the thumbnail image. Tuttavia, la chiamata asincrona successiva non avviene finché non viene completata quella precedente.However, the next asynchronous call doesn't occur until the previous asynchronous call completes. In questo modo si garantisce che alla fotocamera venga inviata una sola richiesta per volta.This ensures that only one request is made to the camera at a time.

Nel file MainPage.xaml.cs aggiungi il codice seguente alla classe MainPage.In the MainPage.xaml.cs file, add the following code to the MainPage class.

async private System.Threading.Tasks.Task<List<Windows.Storage.StorageFile>> GetImageList(Windows.Storage.StorageFolder folder)
{
    var result = await folder.GetFilesAsync();
    var subFolders = await folder.GetFoldersAsync();
    foreach (Windows.Storage.StorageFolder f in subFolders)
        result = result.Union(await GetImageList(f)).ToList();

    return (from f in result orderby f.Name select f).ToList();
}

async private System.Threading.Tasks.Task<Image> GetThumbnail(Windows.Storage.StorageFile img)
{
    // Get the thumbnail to display
    var thumbnail = await img.GetThumbnailAsync(Windows.Storage.FileProperties.ThumbnailMode.SingleItem,
                                                100,
                                                Windows.Storage.FileProperties.ThumbnailOptions.UseCurrentScale);

    // Create a XAML Image object bind to on the display page
    var result = new Image();
    result.Height = thumbnail.OriginalHeight;
    result.Width = thumbnail.OriginalWidth;
    result.Name = img.Name;
    var imageBitmap = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
    imageBitmap.SetSource(thumbnail);
    result.Source = imageBitmap;

    return result;
}

Passaggio 7: compilare ed eseguire l'appStep 7: Build and run the app

  1. Premi F5 per compilare e distribuire l'app in modalità debug.Press F5 to build and deploy the app (in debug mode).
  2. Per eseguire l'app, collega una fotocamera al computer.To run your app, connect a camera to your machine. Seleziona quindi l'app nell'elenco di opzioni AutoPlay.Then select the app from the AutoPlay list of options. Nota    Non tutte le fotocamere pubblicizzano per l'evento WPD \ ImageSource AutoPlay Device.Note  Not all cameras advertise for the WPD\ImageSource AutoPlay device event.

Configurare gli archivi rimovibiliConfigure removable storage

Puoi identificare un dispositivo del volume, come una scheda di memoria o una chiavetta USB, come dispositivo AutoPlay quando il dispositivo del volume viene collegato a un PC.You can identify a volume device such as a memory card or thumb drive as an AutoPlay device when the volume device is connected to a PC. Ciò è particolarmente utile quando vuoi associare un'app specifica per AutoPlay da presentare all'utente per il tuo dispositivo del volume.This is especially useful when you want to associate a specific app for AutoPlay to present to the user for your volume device.

Questa sezione mostra come identificare il dispositivo del volume come dispositivo AutoPlay.Here we show how to identify your volume device as an AutoPlay device.

Per identificare il dispositivo del volume come dispositivo AutoPlay, aggiungi un file autorun.inf all'unità radice del dispositivo.To identify your volume device as an AutoPlay device, add an autorun.inf file to the root drive of your device. Nel file autorun.inf aggiungi una chiave CustomEvent alla sezione AutoRun.In the autorun.inf file, add a CustomEvent key to the AutoRun section. Quando il dispositivo del volume viene collegato a un PC, AutoPlay individua il file autorun.inf e considera il volume un dispositivo.When your volume device connects to a PC, AutoPlay will find the autorun.inf file and treat your volume as a device. AutoPlay crea un evento AutoPlay usando il nome specificato per la chiave CustomEvent.AutoPlay will create an AutoPlay event by using the name that you supplied for the CustomEvent key. Puoi quindi creare un'app e registrarla come gestore dell'evento AutoPlay.You can then create an app and register the app as a handler for that AutoPlay event. Quando il dispositivo è collegato al PC, AutoPlay visualizza l'app come gestore del dispositivo del volume.When the device is connected to the PC, AutoPlay will show your app as a handler for your volume device. Per altre info sui file autorun.inf, vedi l'argomento relativo alle voci di autorun.inf.For more info on autorun.inf files, see autorun.inf entries.

Passaggio 1: creare un file autorun.infStep 1: Create an autorun.inf file

Nell'unità radice del dispositivo del volume aggiungi un file denominato autorun.inf.In the root drive of your volume device, add a file named autorun.inf. Apri il file autorun.inf e aggiungi il testo seguente.Open the autorun.inf file and add the following text.

[AutoRun]
CustomEvent=AutoPlayCustomEventQuickstart

Passaggio 2: creare un nuovo progetto e aggiungere dichiarazioni AutoPlayStep 2: Create a new project and add AutoPlay declarations

  1. Apri Visual Studio e scegli Nuovo progetto dal menu File.Open Visual Studio and select New Project from the File menu. Nella sezione Visual C#, in Windows seleziona App vuota (Windows universale).In the Visual C# section, under Windows, select Blank App (Universal Windows). Assegna all'applicazione il nome AutoPlayCustomEvent e fai clic su OK.Name the application AutoPlayCustomEvent and click OK.

  2. Aprire il file Package. appxmanifest e selezionare la scheda capabilities (funzionalità ). Selezionare la funzionalità di archiviazione rimovibile .Open the Package.appxmanifest file and select the Capabilities tab. Select the Removable Storage capability. In questo modo l'app potrà accedere ai file e alle cartelle nei dispositivi di archiviazione rimovibili.This gives the app access to the files and folders on removable storage devices.

  3. Nel file manifesto selezionare la scheda dichiarazioni . Nell'elenco a discesa dichiarazioni disponibili selezionare riproduzione automatica contenuto e fare clic su Aggiungi.In the manifest file, select the Declarations tab. In the Available Declarations drop-down list, select AutoPlay Content and click Add. Seleziona la nuova voce Contenuto AutoPlay aggiunta all'elenco Dichiarazioni supportate.Select the new AutoPlay Content item that was added to the Supported Declarations list.

    Nota    In alternativa, è anche possibile scegliere di aggiungere una dichiarazione di dispositivo AutoPlay per l'evento AutoPlay personalizzato.Note  Alternatively, you can also choose to add an AutoPlay Device declaration for your custom AutoPlay event.  

  4. Nella sezione Azioni di avvio della dichiarazione dell'evento Contenuto AutoPlay immetti i valori seguenti per la prima azione di avvio.In the Launch Actions section for your AutoPlay Content event declaration, enter the values in the table below for the first launch action.

  5. Seleziona Associazioni tipi file nell'elenco a discesa Dichiarazioni disponibili e fai clic su Aggiungi.In the Available Declarations drop-down list, select File Type Associations and click Add. Nelle proprietà della nuova dichiarazione delle associazioni dei tipi di file , impostare il campo nome visualizzato su Mostra file con estensione MS e il campo nome su MS _ Association.In the Properties of the new File Type Associations declaration, set the Display Name field to Show .ms Files and the Name field to ms_association. Nella sezione Tipi di file supportati fai clic su Aggiungi nuovo.In the Supported File Types section, click Add New. Imposta il campo Tipo di file su .ms.Set the File Type field to .ms. Per quanto riguarda gli eventi contenuto, AutoPlay filtra ed esclude tutti i tipi di file non esplicitamente associati alla tua app.For content events, AutoPlay filters out any file types that aren't explicitly associated with your app.

  6. Salvare e chiudere il file manifesto.Save and close the manifest file.

ImpostazioneSetting ValoreValue
VerboVerb showshow
Nome visualizzato azioneAction Display Name Mostra fileShow Files
Evento contenutoContent Event AutoPlayCustomEventQuickstartAutoPlayCustomEventQuickstart

Il valore Evento contenuto è il testo specificato per la chiave CustomEvent nel file autorun.inf.The Content Event value is the text that you supplied for the CustomEvent key in your autorun.inf file. L'impostazione Nome visualizzato azione identifica la stringa visualizzata da AutoPlay per la tua app.The Action Display Name setting identifies the string that AutoPlay displays for your app. L'impostazione Verbo identifica un valore passato all'app per l'opzione selezionata.The Verb setting identifies a value that is passed to your app for the selected option. È possibile specificare più azioni di avvio per un evento AutoPlay e usare l'impostazione del verbo per determinare l'opzione selezionata dall'utente per l'app.You can specify multiple launch actions for an AutoPlay event and use the Verb setting to determine which option a user has selected for your app. È possibile specificare l'opzione selezionata dall'utente controllando la proprietà Verb degli argomenti dell'evento Startup passati all'app.You can tell which option the user selected by checking the verb property of the startup event arguments passed to your app. È possibile usare qualsiasi valore per l'impostazione del verbo eccetto, Open, che è riservato.You can use any value for the Verb setting except, open, which is reserved.

Passaggio 3: aggiungere l'interfaccia utente XAMLStep 3: Add XAML UI

Apri il file MainPage.xaml e aggiungi il codice XAML seguente alla sezione predefinita <Grid>.Open the MainPage.xaml file and add the following XAML to the default <Grid> section.

<StackPanel Orientation="Vertical">
    <TextBlock FontSize="28" Margin="10,0,800,0">Files</TextBlock>
    <TextBlock x:Name="FilesBlock" FontSize="22" Height="600" Margin="10,0,800,0" />
</StackPanel>

Passaggio 4: aggiungere il codice di attivazioneStep 4: Add activation code

Il codice in questo passaggio chiama un metodo per visualizzare le cartelle nell'unità radice del dispositivo del volume.The code in this step calls a method to display the folders in the root drive of your volume device. Per quanto riguarda gli eventi contenuto AutoPlay, AutoPlay passa la cartella radice del dispositivo di archiviazione negli argomenti di avvio passati all'applicazione durante l'evento OnFileActivated.For the AutoPlay content events, AutoPlay passes the root folder of the storage device in the startup arguments passed to the application during the OnFileActivated event. Puoi recuperare questa cartella dal primo elemento della proprietà Files.You can retrieve this folder from the first element of the Files property.

Apri il file App.xaml.cs e aggiungi il codice seguente alla classe App.Open the App.xaml.cs file and add the following code to the App class.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
    var rootFrame = Window.Current.Content as Frame;
    var page = rootFrame.Content as MainPage;

    // Call ShowFolders with root folder from device storage.
    page.DisplayFiles(args.Files[0] as Windows.Storage.StorageFolder);

    base.OnFileActivated(args);
}

Nota    Il DisplayFiles metodo viene aggiunto nel passaggio seguente.Note  The DisplayFiles method is added in the following step.

 

Passaggio 5: aggiungere il codice per la visualizzazione delle cartelleStep 5: Add code to display folders

Nel file MainPage.xaml.cs aggiungere il codice seguente alla classe MainPage .In the MainPage.xaml.cs file add the following code to the MainPage class.

internal async void DisplayFiles(Windows.Storage.StorageFolder folder)
{
    foreach (Windows.Storage.StorageFile f in await ReadFiles(folder, ".ms"))
    {
        FilesBlock.Text += "  " + f.Name + "\n";
    }
}

internal async System.Threading.Tasks.Task<IReadOnlyList<Windows.Storage.StorageFile>>
    ReadFiles(Windows.Storage.StorageFolder folder, string fileExtension)
{
    var options = new Windows.Storage.Search.QueryOptions();
    options.FileTypeFilter.Add(fileExtension);
    var query = folder.CreateFileQueryWithOptions(options);
    var files = await query.GetFilesAsync();

    return files;
}

Passaggio 6: compilare ed eseguire l'appStep 6: Build and run the qpp

  1. Premi F5 per compilare e distribuire l'app in modalità debug.Press F5 to build and deploy the app (in debug mode).
  2. Per eseguire l'app, inserisci nel PC una scheda di memoria o un altro dispositivo di archiviazione.To run your app, insert a memory card or another storage device into your PC. Seleziona quindi la tua app nell'elenco delle opzioni per i gestori AutoPlay.Then select your app from the list of AutoPlay handler options.

Riferimento all'evento AutoPlayAutoPlay event reference

Il sistema AutoPlay consente la registrazione delle app per vari eventi di arrivo del dispositivo e del volume (disco).The AutoPlay system allows apps to register for a variety of device and volume (disk) arrival events. Per eseguire la registrazione per gli eventi contenuto AutoPlay, devi abilitare la funzionalità Archivi rimovibili nel manifesto del pacchetto.To register for AutoPlay content events, you must enable the Removable Storage capability in your package manifest. Questa tabella contiene gli eventi per i quali puoi effettuare la registrazione e indica quando vengono generati.This table shows the events that you can register for and when they are raised.

ScenarioScenario EventEvent DescrizioneDescription
Uso di foto in una fotocameraUsing photos on a Camera WPD\ImageSourceWPD\ImageSource Viene generato per le fotocamere identificate come dispositivi portatili Windows e che offrono la funzionalità ImageSource.Raised for cameras that are identified as Windows Portable Devices and offer the ImageSource capability.
Uso di musica in un lettore audioUsing music on an audio player WPD\AudioSourceWPD\AudioSource Viene generato per i lettori multimediali identificati come dispositivi portatili Windows e che offrono la funzionalità AudioSource.Raised for media players that are identified as Windows Portable Devices and offer the AudioSource capability.
Uso di video in una videocameraUsing videos on a video camera WPD\VideoSourceWPD\VideoSource Viene generato per le videocamere identificate come dispositivi portatili Windows e che offrono la funzionalità VideoSource.Raised for video cameras that are identified as Windows Portable Devices and offer the VideoSource capability.
Accesso a un'unità flash o a un'unità disco rigido esterna collegataAccess a connected flash drive or external hard drive StorageOnArrivalStorageOnArrival Viene generato quando un'unità o un volume è collegato al PC.Raised when a drive or volume is connected to the PC. Se l'unità o il volume contiene una cartella DCIM, AVCHD o PRIVATE\ACHD nella radice del disco, viene invece generato l'evento ShowPicturesOnArrival.If the drive or volume contains a DCIM, AVCHD, or PRIVATE\ACHD folder in the root of the disk, the ShowPicturesOnArrival event is raised instead.
Uso di foto da un archivio di massa (legacy)Using photos from mass storage (legacy) ShowPicturesOnArrivalShowPicturesOnArrival Viene generato quando un'unità o un volume contiene una cartella DCIM, AVCHD o PRIVATE\ACHD nella radice del disco.Raised when a drive or volume contains a DCIM, AVCHD, or PRIVATE\ACHD folder in the root of the disk. IIf un utente ha abilitato scegliere le operazioni da eseguire con ogni tipo di supporto nel pannello di controllo AutoPlay, AutoPlay esaminerà un volume connesso al PC per determinare il tipo di contenuto sul disco.IIf a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Se vengono individuate immagini, viene generato l'evento ShowPicturesOnArrival.When pictures are found, ShowPicturesOnArrival is raised.
Ricezione di foto con Condivisione prossimità (tocco e invio)Receiving photos with Proximity Sharing (tap and send) ShowPicturesOnArrivalShowPicturesOnArrival Quando gli utenti inviano contenuto tramite prossimità (tocco e invio), AutoPlay esamina i file condivisi per determinare il tipo di contenuto.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se vengono individuate immagini, viene generato l'evento ShowPicturesOnArrival.If pictures are found, ShowPicturesOnArrival is raised.
Uso di musica da un archivio di massa (legacy)Using music from mass storage (legacy) PlayMusicFilesOnArrivalPlayMusicFilesOnArrival Se un utente ha abilitato scegliere le operazioni da eseguire con ogni tipo di supporto nel pannello di controllo AutoPlay, AutoPlay esaminerà un volume connesso al PC per determinare il tipo di contenuto sul disco.If a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Se vengono individuati file musicali, viene generato l'evento PlayMusicFilesOnArrival.When music files are found, PlayMusicFilesOnArrival is raised.
Ricezione di musica con Condivisione prossimità (tocco e invio)Receiving music with Proximity Sharing (tap and send) PlayMusicFilesOnArrivalPlayMusicFilesOnArrival Quando gli utenti inviano contenuto tramite prossimità (tocco e invio), AutoPlay esamina i file condivisi per determinare il tipo di contenuto.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se vengono individuati file musicali, viene generato l'evento PlayMusicFilesOnArrival.If music files are found, PlayMusicFilesOnArrival is raised.
Uso di video da un archivio di massa (legacy)Using videos from mass storage (legacy) PlayVideoFilesOnArrivalPlayVideoFilesOnArrival Se un utente ha abilitato scegliere le operazioni da eseguire con ogni tipo di supporto nel pannello di controllo AutoPlay, AutoPlay esaminerà un volume connesso al PC per determinare il tipo di contenuto sul disco.If a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Se vengono individuati file video, viene generato l'evento PlayVideoFilesOnArrival.When video files are found, PlayVideoFilesOnArrival is raised.
Ricezione di video con Condivisione prossimità (tocco e invio)Receiving videos with Proximity Sharing (tap and send) PlayVideoFilesOnArrivalPlayVideoFilesOnArrival Quando gli utenti inviano contenuto tramite prossimità (tocco e invio), AutoPlay esamina i file condivisi per determinare il tipo di contenuto.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se vengono individuati file video, viene generato l'evento PlayVideoFilesOnArrival.If video files are found, PlayVideoFilesOnArrival is raised.
Gestione di insiemi misti di file da un dispositivo connessoHandling mixed sets of files from a connected device MixedContentOnArrivalMixedContentOnArrival Se un utente ha abilitato scegliere le operazioni da eseguire con ogni tipo di supporto nel pannello di controllo AutoPlay, AutoPlay esaminerà un volume connesso al PC per determinare il tipo di contenuto sul disco.If a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Se non viene individuato alcun tipo di contenuto specifico (ad esempio immagini), viene generato l'evento MixedContentOnArrival.If no specific content type is found (for example, pictures), MixedContentOnArrival is raised.
Gestione di insiemi misti di file con Condivisione prossimità (tocco e invio)Handling mixed sets of files with Proximity Sharing (tap and send) MixedContentOnArrivalMixedContentOnArrival Quando gli utenti inviano contenuto tramite prossimità (tocco e invio), AutoPlay esamina i file condivisi per determinare il tipo di contenuto.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se non viene individuato alcun tipo di contenuto specifico (ad esempio immagini), viene generato l'evento MixedContentOnArrival.If no specific content type is found (for example, pictures), MixedContentOnArrival is raised.
Gestione di video da supporti otticiHandle video from optical media PlayDVDMovieOnArrivalPlayDVDMovieOnArrival
PlayBluRayOnArrivalPlayBluRayOnArrival
PlayVideoCDMovieOnArrivalPlayVideoCDMovieOnArrival
PlaySuperVideoCDMovieOnArrivalPlaySuperVideoCDMovieOnArrival
Quando si inserisce un disco nell'unità ottica, AutoPlay esamina i file per determinare il tipo di contenuto.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando vengono rilevati file video, viene generato l'evento corrispondente al tipo di disco ottico.When video files are found, the event corresponding to the type of optical disk is raised.
Gestione di musica da supporti otticiHandle music from optical media PlayCDAudioOnArrivalPlayCDAudioOnArrival
PlayDVDAudioOnArrivalPlayDVDAudioOnArrival
Quando si inserisce un disco nell'unità ottica, AutoPlay esamina i file per determinare il tipo di contenuto.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando vengono rilevati file musicali, viene generato l'evento corrispondente al tipo di disco ottico.When music files are found, the event corresponding to the type of optical disk is raised.
Riproduzione di dischi di tipo avanzatoPlay enhanced disks PlayEnhancedCDOnArrivalPlayEnhancedCDOnArrival
PlayEnhancedDVDOnArrivalPlayEnhancedDVDOnArrival
Quando si inserisce un disco nell'unità ottica, AutoPlay esamina i file per determinare il tipo di contenuto.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando viene trovato un disco avanzato, viene generato l'evento corrispondente al tipo di disco ottico.When an enhanced disk is found, the event corresponding to the type of optical disk is raised.
Gestione di dischi ottici scrivibiliHandle writeable optical disks HandleCDBurningOnArrivalHandleCDBurningOnArrival
HandleDVDBurningOnArrivalHandleDVDBurningOnArrival
HandleBDBurningOnArrivalHandleBDBurningOnArrival
Quando si inserisce un disco nell'unità ottica, AutoPlay esamina i file per determinare il tipo di contenuto.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando viene trovato un disco scrivibile, viene generato l'evento corrispondente al tipo di disco ottico.When a writable disk is found, the event corresponding to the type of optical disk is raised.
Gestione di qualsiasi altra connessione di dispositivo o volumeHandle any other device or volume connection UnknownContentOnArrivalUnknownContentOnArrival Viene generato per tutti gli eventi quando viene individuato contenuto che non corrisponde ad alcun evento contenuto AutoPlay.Raised for all events in case content is found that does not match any of the AutoPlay content events. Ti sconsigliamo l'uso di questo evento.Use of this event is not recommended. Ti consigliamo di registrare la tua applicazione solo per gli eventi AutoPlay specifici che è in grado di gestire.You should only register your application for the specific AutoPlay events that it can handle.

Puoi specificare che AutoPlay generi un evento contenuto AutoPlay personalizzato usando la voce CustomEvent nel file autorun.inf di un volume.You can specify that AutoPlay raise a custom AutoPlay Content event using the CustomEvent entry in the autorun.inf file for a volume. Per altre info, vedi l'argomento relativo alle voci di Autorun.inf.For more info, see Autorun.inf entries.

Puoi registrare la tua app come gestore di eventi contenuto AutoPlay o eventi dispositivo AutoPlay aggiungendo un'estensione al file package.appxmanifest per l'app.You can register your app as an AutoPlay Content or AutoPlay Device event handler by adding an extension to the package.appxmanifest file for your app. Se si usa Visual Studio, è possibile aggiungere una Dichiarazione AutoPlay content o AutoPlay Device nella scheda dichiarazioni . Se si modifica direttamente il file Package. appxmanifest per l'app, aggiungere un elemento Extension al manifesto del pacchetto che specifichi Windows. autoPlayContent o Windows. autoPlayDevice come Category.If you are using Visual Studio, you can add an AutoPlay Content or AutoPlay Device declaration in the Declarations tab. If you are editing the package.appxmanifest file for your app directly, add an Extension element to your package manifest that specifies either windows.autoPlayContent or windows.autoPlayDevice as the Category. La voce seguente nel manifesto del pacchetto, ad esempio, aggiunge un'estensione Contenuto AutoPlay per registrare l'app come gestore dell'evento ShowPicturesOnArrival.For example, the following entry in the package manifest adds an AutoPlay Content extension to register the app as a handler for the ShowPicturesOnArrival event.

  <Applications>
    <Application Id="AutoPlayHandlerSample.App">
      <Extensions>
        <Extension Category="windows.autoPlayContent">
          <AutoPlayContent>
            <LaunchAction Verb="show" ActionDisplayName="Show Pictures"
                          ContentEvent="ShowPicturesOnArrival" />
          </AutoPlayContent>
        </Extension>
      </Extensions>
    </Application>
  </Applications>