Iniciar la página de configuración de la cámara

Windows define un conjunto de URI que permiten a las aplicaciones iniciar la aplicación Configuración de Windows y mostrar una página de configuración determinada. En este artículo se explica cómo iniciar la aplicación Configuración de Windows directamente en la página de configuración de la cámara y, opcionalmente, navegar directamente a la configuración de una cámara determinada en el dispositivo. Para obtener más información, vea Iniciar la aplicación Configuración de Windows.

Dirección URL de configuración de la cámara

A partir de Windows 11, compilación 22000, el URI ms-settings:camera inicia la aplicación Configuración de Windows y navega a la página de configuración de la cámara. Tenga en cuenta que en versiones anteriores de Windows, este mismo URI iniciaría la aplicación de cámara predeterminada. Además de la página general de configuración de la cámara, puede anexar el parámetro cameraId de cadena de consulta establecido al nombre del vínculo simbólico, en formato de URI de escape, para iniciar directamente en la página de configuración de la cámara asociada.

En el ejemplo siguiente, la clase DeviceInformation se usa para recuperar el nombre del vínculo simbólico del primer dispositivo de captura de vídeo en la máquina actual, si existe alguno. A continuación, se llama a LaunchUriAsync para iniciar la aplicación Configuración de Windows. El ms-settings:camera URI especifica que se debe mostrar la página de configuración de la cámara. El parámetro cameraId de cadena de consulta opcional se establece en el nombre del vínculo simbólico de la cámara, con escape con una llamada a Url.EscapeDataString, para especificar que se debe mostrar la configuración de la cámara asociada.

private async void LaunchSettingsPage_Click(object sender, RoutedEventArgs e)
{
    var captureDevices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);
    if (captureDevices.Count() > 0)
    {
        var cameraSymbolicLink = captureDevices.First().Id;
        bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:camera?cameraId=" + Uri.EscapeDataString(cameraSymbolicLink)));
    }

}