윈도우 사용자라면 설정앱을 자신의 입맛대로 변경할 수 있다. 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);
}
}
}
반응형
'programming > UWP' 카테고리의 다른 글
uwp 화면 레이아웃 StackPanel 사용하기 (0) | 2021.04.04 |
---|---|
uwp 버튼에 이미지 추가 넣기 How to add image on a button in uwp (0) | 2021.04.02 |
uwp 기본 웹브라우저 열기 Open default web browser (0) | 2021.03.31 |
uwp 현재 윈도우 사이즈 가져오기 설정하기 how to get or set current windows size (0) | 2021.03.31 |
uwp 버튼과 클릭 이벤트 사용하기 Xaml Button Control and Click Event (0) | 2021.03.29 |
댓글