Cómo administrar la activación de archivos (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Una aplicación se puede registrar para convertirse en el controlador predeterminado de un tipo de archivo específico. Tanto las aplicaciones de escritorio como las aplicaciones de Windows en tiempo de ejecución pueden registrarse para que sean un controlador de archivos predeterminado. Si el usuario elige tu aplicación como el controlador predeterminado de un tipo de archivo específico, esta se activará cada vez que ese tipo de archivo se inicie.

Te recomendamos que solo registres tu aplicación para un tipo de archivo si tienes previsto administrar todos los inicios de archivos de ese tipo. Si tu aplicación solo necesita usar el tipo de archivo internamente, no tienes que registrarla para que sea el controlador predeterminado. Si, en efecto, eliges registrarla para un tipo de archivo, debes proporcionar al usuario final todas las funciones que se esperan cuando tu aplicación se active para ese tipo de archivo. Por ejemplo, un visor de imágenes puede registrarse para mostrar un archivo .jpg. Para obtener más información sobre las asociaciones de archivos, consulta Directrices y lista de comprobación de tipos de archivo y URI.

Estos pasos muestran cómo realizar el registro para un tipo de archivo personalizado, .alsdk, y cómo se activa tu aplicación cuando el usuario inicia un archivo .alsdk.

Nota  

En las aplicaciones de la Tienda de Windows Phone, algunas extensiones de archivo y URI se reservan para que las usen aplicaciones integradas y del sistema operativo. Se ignorarán los intentos de registrar aplicaciones con una extensión de archivo o URI reservada. Para obtener más información, consulta la lista de esta página.

Instrucciones

Paso 1: Especificar el punto de extensión en el manifiesto del paquete

La aplicación recibe eventos de activación solo para las extensiones de archivo listadas en el manifiesto del paquete. Así es como debes indicar que la aplicación administra archivos con la extensión .alsdk.

  1. Haz doble clic para abrir package.appxmanifest en el Explorador de soluciones.

    Consulta Identificadores de programación para obtener más información sobre los identificadores que usan las asociaciones de archivos. A continuación mostramos una breve descripción de cada uno de los campos que puedes cumplimentar en el manifiesto del paquete:

    Campo Descripción

    Tipo de contenido

    Especifica el tipo de contenido MIME, como image/jpeg, para un tipo de archivo concreto.

    Nota importante acerca de los tipos de contenido permitidos:  Esta es una lista alfabética de los tipos de contenido MIME que no se pueden especificar en el manifiesto del paquete porque están reservados o prohibidos: application/force-download, application/octet-stream, application/unknown, application/x-msdownload.

    Nombre

    Elige un nombre para un grupo de tipos de archivos que comparten el mismo nombre para mostrar, logotipo, información y marcas de edición. Elige un nombre de grupo que pueda continuar siendo el mismo a lo largo de las actualizaciones de la aplicación.

    Nota  El nombre debe estar completamente en minúsculas.
     

    Información

    Especifica la información para mostrar para un grupo de tipos de archivo. Este texto de información sobre herramientas aparece cuando el usuario se desplaza sobre el icono de un archivo de este tipo.

    Marcas de edición

    Especifica las marcas de edición para un grupo de tipos de archivo. Las marcas de edición controlan cómo se accede a un archivo cuando proviene de un origen que no es de confianza. La marca OpenIsSafe indica que el verbo Open para el tipo de archivo se puede invocar de forma segura para cualquier archivo descargado. La marca AlwaysUnsafe indica que la opción para invocar automáticamente el verbo Open para el tipo de archivo está deshabilitada. El usuario puede invalidar este atributo a través del cuadro de diálogo Tipo de archivo. El uso de esta marca significa que OpenIsSafe se omite. Impide que la casilla No volver a mostrar este mensaje esté habilitada en el diálogo de seguridad al abrir archivos que no son de confianza de este tipo.

    Nombre para mostrar

    Especifica el nombre para mostrar de un grupo de tipos de archivo. El nombre para mostrar se usa para identificar el tipo de archivo en Establecer programas predeterminados en el Panel de control.

    Logotipo

    Especifica el logotipo que se usa para identificar el tipo de archivo en el escritorio y en Establecer programas predeterminados en el Panel de control. Si no se especifica ningún logotipo, se usa el logotipo pequeño para la aplicación.

    Tipo de archivo

    Especifica el tipo de archivo para el que se va a registrar, precedido de un punto, por ejemplo, “.jpeg”.

    Tipos de archivo reservados o no permitidos

    A continuación encontrarás listas alfabéticas de tipos de archivos que no se pueden registrar para tu aplicación porque están reservados o no se permiten:

    Nota  

    Aplicaciones de la Tienda Windows

    Accountpicture-ms, Appx, application, Appref-ms, Bat, Cer, Chm, Cmd, Com, Cpl, crt, dll, drv, Exe, fon, gadget, Hlp, Hta, Inf ,Ins, jse, lnk, Msi, Msp, ocx, pif, Ps1, Reg, Scf, Scr, Shb, Shs, Sys, ttf, url, Vbe, Vbs, Ws, Wsc, Wsf, Wsh

    Nota  

    Aplicaciones de la Tienda de Windows Phone

    Windows Phone reserva los siguientes tipos de archivo para las aplicaciones integradas.

    aac, aetx, asf, bmp, cer, dotm, dotx, gif, hdp, htm, html, ico, icon, jpeg, jpg, jxr, m4a, m4rm, m4v, mov, mp3, mp4, one, onetoc2, p7b, pem, png, pptm, pptx, qcp, rtf, tif, tiff, txt, url, vcf, wav, wdp, wmv, xap, xht, xhtml, xltm, xltx, xml, xsl, zip

    Windows Phone reserva los siguientes tipos de archivo para el sistema operativo.

    ade, adp, app, application, apprefms, asp, bas, bat, cab, chm, cmd, cnt, com, cpf, cpl, crd, crds, crt, csh, der, dll, exe, fxp, gadget, grp, hlp, hme, hpj, hta, inf, ins, isp, its, jar, js, jse, ksh, lnk, mad, maf, mag, mam, maq, mar, mas, mat, mau, mav, maw, mcf, mda, mdb, mde, mdt, mdw, mdz, msc, msh, msh1, msh1xml, msh2, msh2xml, mshxml, msi, msp, mst, msu, ops, pcd, pif, pl, plg, plsc, prf, prg, printerexport, provxml, ps1, ps1xml, ps2, ps2xml, psc1, psc2, psm1, pst, pvw, py, pyc, pyo, rb, rbw, rdp, reg, rgu, scf, scr, shb, shs, theme, tmp, tsk, url, vb, vbe, vbp, vbs, vhd, vhdx, vsmacros, vsw, webpnp, ws, wsc, wsf, wsh, xaml, xdp, xip, xnk

    Vista deseada (solo Windows)

    Especifica el campo Desired View para indicar la cantidad de espacio que la ventana necesita cuando se inicia para el tipo de archivo. Los posibles valores para Desired View son Default, UseLess, UseHalf, UseMore o UseMinimum.

    Nota  Windows tiene en cuenta diferentes factores a la hora de determinar el tamaño final de la ventana de la aplicación de destino, como por ejemplo, la preferencia de la aplicación de origen, el número de aplicaciones en pantalla, la orientación de la pantalla, etc. Establecer Vista deseada no garantiza un comportamiento de ventanas específico para la aplicación de destino.
     

    Windows 8.1:  Desired View no se admite hasta Windows 8.1 y Windows Server 2012 R2.

    Windows Phone:  Desired View no se admite para Windows Phone.

     

  2. Selecciona la pestaña Declaraciones.

  3. En la lista desplegable, selecciona Asociaciones de tipo de archivo y haz clic en Agregar.

  4. Escribe alsdk como Nombre.

  5. Escribe .alsdk como Tipo de archivo.

  6. Especifica "images\Icon.png" como Logotipo.

  7. Presiona Ctrl+S para guardar el cambio realizado en package.appxmanifest.

Esto agrega un elemento Extension como este al manifiesto del paquete. La categoría windows.fileTypeAssociation indica que la aplicación administra archivos con la extensión .alsdk.

<Package xmlns="https://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="https://schemas.microsoft.com/appx/2013/manifest">
   <Applications>
      <Application Id="AutoLaunch.App">
         <Extensions>
            <Extension Category="windows.fileTypeAssociation">
                <FileTypeAssociation Name="alsdk">
                  <DisplayName>SDK Sample File Type</DisplayName>
                  <Logo>images\logo.png</Logo>
                  <InfoTip>SDK Sample tip </InfoTip>
                  <EditFlags OpenIsSafe="true" />
                  <SupportedFileTypes>
                     <FileType ContentType="image/jpeg">.alsdk</FileType>
                  </SupportedFileTypes>
               </FileTypeAssociation>
            </Extension>
         </Extensions>
      </Application>
   </Applications>
</Package>

Paso 2: Agrega los iconos adecuados

Las aplicaciones que se convierten en predeterminadas para un tipo de archivo muestran sus iconos en varios lugares del sistema. Por ejemplo, estos iconos se muestran en:

  • Vista Elementos del Explorador de Windows, menús contextuales y la Cinta
  • Panel de control de programas predeterminados
  • Selector de archivos
  • Resultados de búsqueda en la pantalla Inicio

Te recomendamos que incluyas los iconos adecuados con tu proyecto para que el logotipo tenga un aspecto genial en todos los sitios. Para una aplicación de la Tienda Windows, incluye en tu carpeta de imágenes versiones de 16/32/48/256 píxeles del logotipo pequeño y el icono. Para una aplicación de la Tienda de Windows Phone, incluye en su lugar versiones de 63/129/336 píxeles. Haz coincidir el aspecto del logotipo del icono de aplicación con la paleta de colores incorporada y que el logotipo llegue al borde sin que quede espacio entre ellos. Prueba los iconos en fondos de color blanco. Para ver iconos de ejemplo, consulta el ejemplo de inicio por asociación (Windows).

El Explorador de soluciones con una vista de los archivos en la carpeta de imágenes. Hay versiones de 16, 32, 48 y 256 píxeles de ‘Icon.targetsize’ y ‘smallTile-sdk’

Paso 3: Registrar la aplicación para el evento activado

Registra la aplicación para el evento activated a fin de administrar la activación de archivos.

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

Paso 4: Administrar el evento activado

El controlador de eventos activated registrado en el paso 1 recibe todos los eventos de activación. La propiedad kind indica el tipo de evento de activación. Este ejemplo está configurado para administrar eventos de activación de file.

function onActivatedHandler(eventArgs) {
   if (eventArgs.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.file) 
   {
       // TODO: Handle file activation.

       // The number of files received is eventArgs.detail.files.size
       // The first file is eventArgs.detail.files[0].name
   }
}

Nota  

Si se inician a través del contrato Archivo, las aplicaciones de la Tienda de Windows Phone deben asegurarse de que el botón Atrás lleve al usuario de vuelta a la pantalla que inició la aplicación, y no al contenido anterior de la aplicación.

Se recomienda que las aplicaciones creen un nuevo marco XAML para cada evento de activación que abra una nueva página. Así, la navegación hacia atrás del nuevo marco XAML no incluirá nada del contenido anterior que la aplicación tuviera en la ventana actual al pasar a suspensión. Las aplicaciones que decidan usar un solo marco XAML para los contratos Iniciar y Archivo deben borrar las páginas del diario de navegación del marco antes de ir a una página nueva.

Si se inician a través de la activación de archivo, las aplicaciones deberían plantearse incluir una interfaz de usuario que permita al usuario volver a la página superior de la aplicación.

Observaciones

Los archivos que recibes pueden provenir de un origen que no es de confianza. Te recomendamos que valides el contenido de un archivo antes de realizar una acción en él. Para obtener más información sobre la validación de entradas, consulta el tema sobre cómo escribir código seguro.

Ejemplo completo

Consulta el ejemplo de inicio por asociación (Windows).

Temas relacionados

Conceptos

Programas predeterminados

Modelo de asociación de tipos de archivo y protocolos

Tareas

Cómo iniciar la aplicación predeterminada de un archivo

Cómo administrar la activación de URI

Directrices

Directrices y lista de comprobación de tipos de archivo y URI

Referencia

Windows.Storage.StorageFile

Windows.UI.WebUI.WebUIFileActivatedEventArgs

WinJS.Application.onactivated