Partager via


Lancer la page des paramètres de caméra

Windows définit un ensemble d’URI qui permettent aux applications de lancer l’application Paramètres Windows et d’afficher une page de paramètres particulière. Cet article explique comment lancer l’application Paramètres Windows directement dans la page paramètres de l’appareil photo et, si vous le souhaitez, accédez directement aux paramètres d’une caméra particulière sur l’appareil. Pour plus d’informations, consultez Lancer l’application Paramètres Windows.

URL des paramètres de l’appareil photo

À compter de Windows 11, Build 22000, l’URI ms-settings:camera lance l’application Paramètres Windows et accède à la page des paramètres de l’appareil photo. Notez que dans les versions précédentes de Windows, ce même URI lancerait l’application de caméra par défaut. En plus de la page paramètres généraux de l’appareil photo, vous pouvez ajouter le paramètre cameraId de chaîne de requête défini au nom du lien symbolique, au format d’URI d’échappement, pour lancer directement dans la page paramètres de la caméra associée.

Dans l’exemple suivant, la classe DeviceInformation est utilisée pour récupérer le nom de lien symbolique du premier appareil de capture vidéo sur l’ordinateur actuel, le cas échéant. Ensuite, LaunchUriAsync est appelé pour lancer l’application Paramètres Windows. L’URI ms-settings:camera spécifie que la page des paramètres de l’appareil photo doit être affichée. Le paramètre cameraId de chaîne de requête facultatif est défini sur le nom de lien symbolique de la caméra, échappé avec un appel à Url.EscapeDataString, pour spécifier que les paramètres de la caméra associée doivent être affichés.

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

}