Avviare la pagina delle impostazioni della fotocamera

Windows definisce un set di URI che consentono alle app di avviare l'app Impostazioni Windows e visualizzare una determinata pagina delle impostazioni. Questo articolo illustra come avviare l'app Windows Impostazioni direttamente nella pagina delle impostazioni della fotocamera e, facoltativamente, passare direttamente alle impostazioni per una particolare fotocamera nel dispositivo. Per maggiori informazioni, vedere Avviare l'app Impostazioni di Windows.

URL delle impostazioni della fotocamera

A partire da Windows 11, Build 22000, l'URI ms-settings:camera avvia l'app Impostazioni Windows e passa alla pagina delle impostazioni della fotocamera. Si noti che nelle versioni precedenti di Windows, lo stesso URI avvierà l'applicazione fotocamera predefinita. Oltre alla pagina delle impostazioni generali della fotocamera, è possibile aggiungere il parametro cameraId della stringa di query impostato al nome del collegamento simbolico, in formato URI di escape, per avviare direttamente nella pagina delle impostazioni per la fotocamera associata.

Nell'esempio seguente viene usata la classe DeviceInformation per recuperare il nome del collegamento simbolico per il primo dispositivo di acquisizione video nel computer corrente, se presente. Viene quindi chiamato LaunchUriAsync per avviare l'app di Impostazioni Windows. L'URI ms-settings:camera specifica che deve essere visualizzata la pagina delle impostazioni della fotocamera. Il parametro facoltativo della stringa di query cameraId è impostato sul nome del collegamento simbolico per la fotocamera, preceduto da una chiamata a Url.EscapeDataString, per specificare che devono essere visualizzate le impostazioni per la fotocamera associata.

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)));
    }

}