본문 바로가기
programming/UWP

uwp 윈도우 설정앱 열기 시작 방법 Open Windows Settings App

by 개코 - 개발과 코딩 2021. 3. 31.

윈도우 사용자라면 설정앱을 자신의 입맛대로 변경할 수 있다. uwp에서 설정앱을 열 수 있는데 이 기능을 이용하면 윈도우 환경설정 기능을 만들지 않더라도 프로그램을 사용자가 원하는대로 동작하도록 할 수 있다. 지식 탐구를 하고 싶다면 윈도우 환경설정 기능을 따로 만드는 것도 좋은 도전이 된다.

uwp 윈도우 설정앱 열기
Open Windows Settings App

윈도우 설정앱은 우리가 잘 알고 있는 환경설정을 말한다.

그렇다. 윈도우키를 누르면 나오는 톱니바퀴 모양의 아이콘을 말하며 이 버튼을 누르면 윈도우의 상세한 기능을 변경할 수 있는 많은 환경설정 메뉴들이 나타난다.

이 환경설정 메뉴들을 클릭할 때마다 화면이 나타나고 윈도우 환경설정을 할 수 있는데 이것들이 바로 윈도우10에서 말하는 환경설정 앱이다.

윈도우 환경설정 앱
윈도우 환경설정 앱

환경설정 앱 시작하기 위한 방법

윈도우의 환경설정 앱을 열고 시작하는 방법은 ms-settings: 을 사용하고 별도의 창을 열기 위해서는 윈도우 기본 웹브라우저를 여는 방법과 동일하다.

uri 문자열을 ms-settings: 인자값으로 변경해 주면 된다.

/** 기본 웹브라우저 열기 */
await Windows.System.Launcher.LaunchUriAsync(new Uri("https://www.google.com"));

/** 윈도우 환경설정 열기 */
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:defaultapps"));

/** 버튼 이벤트 설정 */
private async void Button_Click(object sender, RoutedEventArgs e)
{
	/** 주소 설정 */
	String vUriString = "ms-settings:defaultapps";

	/** 윈도우 환경설정 열기 */
	var vAsyncOperation = await Windows.System.Launcher.LaunchUriAsync(new Uri(vUriString));

	if (vAsyncOperation) {}
	else { }
}

전체코드를 보자.

버튼을 클릭하면 윈도우 환경설정 기본앱을 변경할 수 있는 윈도우창이 나타나도록 하였다.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Text;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Popups;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// 빈 페이지 항목 템플릿에 대한 설명은 https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x412에 나와 있습니다.

namespace TestUwpApp
{
    /// <summary>
    /// 자체적으로 사용하거나 프레임 내에서 탐색할 수 있는 빈 페이지입니다.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();

            SetCurrentWindowsSize();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            /** 주소 설정 */
            String vUriString = "ms-settings:defaultapps";

            /** 윈도우 환경설정 열기 */
            var vAsyncOperation = await Windows.System.Launcher.LaunchUriAsync(new Uri(vUriString));

            if (vAsyncOperation) {}
            else { }
        }

        private async void ShowAsyncMessageDialog(String pMessage)
        {
            /** 윈도우 크기 알림창 표시 */
            var vMessageDialog = new MessageDialog(pMessage, "현재 윈도우 크기");
            await vMessageDialog.ShowAsync();
        }

        private void SetCurrentWindowsSize()
        {
            /** 윈도우 크기 설정하기 */
            ApplicationView.PreferredLaunchViewSize = new Size(500, 319);
        }
    }
}

버튼 클릭 기본 앱 윈도우 환경설정 창 열기
버튼 클릭 기본 앱 윈도우 환경설정 창 열기

반응형

댓글