Starten der Seite „Kameraeinstellungen“

Windows definiert eine Reihe von URIs, mit denen Apps die Windows-Einstellungs-App starten und eine bestimmte Einstellungsseite anzeigen können. In diesem Artikel wird erläutert, wie Sie die Windows-Einstellungs-App direkt auf der Seite mit den Kameraeinstellungen starten und optional direkt zu den Einstellungen für eine bestimmte Kamera auf dem Gerät navigieren. Weitere Informationen finden Sie unter Starten der Windows-Einstellungs-App.

Url der Kameraeinstellungen

Ab Windows 11, Build 22000, startet der URI ms-settings:camera die Windows-Einstellungs-App und navigiert zur Seite mit den Kameraeinstellungen. Beachten Sie, dass in früheren Versionen von Windows dieser URI die Standardkameraanwendung starten würde. Zusätzlich zur Seite mit den allgemeinen Kameraeinstellungen können Sie den Abfragezeichenfolgenparameter cameraId anfügen, der auf den symbolischen Linknamen im Escape-URI-Format festgelegt ist, um direkt auf die Einstellungsseite für die zugeordnete Kamera zu starten.

Im folgenden Beispiel wird die DeviceInformation-Klasse verwendet, um den symbolischen Verknüpfungsnamen für das erste Videoaufnahmegerät auf dem aktuellen Computer abzurufen, sofern vorhanden. Als Nächstes wird LaunchUriAsync aufgerufen, um die Windows-Einstellungs-App zu starten. Der ms-settings:camera URI gibt an, dass die Seite mit den Kameraeinstellungen angezeigt werden soll. Der optionale Abfragezeichenfolgenparameter cameraId wird auf den symbolischen Verknüpfungsnamen für die Kamera festgelegt, mit einem Aufruf von Url.EscapeDataString, um anzugeben, dass die Einstellungen für die zugeordnete Kamera angezeigt werden sollen.

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

}