Partilhar via


Iniciar a página de configurações da câmera

O Windows define um conjunto de URIs que permitem que os aplicativos iniciem o aplicativo Configurações do Windows e exibam uma página de configurações específica. Este artigo explica como iniciar o aplicativo configurações do Windows diretamente na página de configurações da câmera e, opcionalmente, navegar diretamente para as configurações de uma câmera específica no dispositivo. Para obter mais informações, consulte Iniciar o aplicativo configurações do Windows.

A URL de configurações da câmera

Começando com o Windows 11, Build 22000, o URI ms-settings:camera inicia o aplicativo Configurações do Windows e navega até a página de configurações da câmera. Observe que, em versões anteriores do Windows, esse mesmo URI iniciaria o aplicativo de câmera padrão. Além da página de configurações gerais da câmera, você pode acrescentar o parâmetro de cadeia de caracteres de consulta cameraId definido como o nome do link simbólico, no formato URI de escape, para iniciar diretamente na página de configurações da câmera associada.

No exemplo a seguir, a classe DeviceInformation é usada para recuperar o nome do link simbólico para o primeiro dispositivo de captura de vídeo no computador atual, se houver. Em seguida, LaunchUriAsync é chamado para iniciar o aplicativo Configurações do Windows. O Uri do ms-settings:camera especifica que a página de configurações da câmera deve ser mostrada. O parâmetro opcional de cadeia de caracteres de consulta cameraId é definido como o nome do link simbólico da câmera, que escapa com uma chamada para Url.EscapeDataString, para especificar que as configurações da câmera associada devem ser exibidas.

private async void bLaunchCameraSettings_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)));
    }
}