본문 바로가기
programming/UWP

uwp 기본 웹브라우저 열기 Open default web browser

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

프로그램을 만들다보면 검색을 위해 웹브라우저를 버튼하나로 열고 싶을 때가 있다. 인터넷 익스플로러가 아닌 자신이 자주 사용하는 웹브라우저를 열기 하는 것을 하려고 한다. 이것은 윈도우에 기본으로 설정된 웹브라우저를 오픈하는 것으로 익스플로러를 싫어한느 사람들에게는 유용할 것이다.

uwp 기본 웹브라우저 열기
Open default web browser

기본 웹브라우저 확인하기

먼저 자신이 사용하는 윈도우에 설정된 기본 웹브라우저가 무엇인지 확인할 필요가 있다.

이것은 윈도우 환경설정에서 찾아볼 수 있다.

  1. 윈도우 환경설정으로 들어간다.
  2. 앱 항목을 클릭한다.
  3. 좌측 메뉴의 기본 앱 을 클릭한다.
  4. 중간에 웹브라우저 라고 표시된 것을 볼 수 있다.

버튼을 눌러 기본 웹브라우저 열기

uwp에서 버튼 이벤트를 사용하는 것은 간단하다.

>>> uwp 버튼과 클릭 이벤트 사용하기 Xaml Button Control and Click Event

 

화면에 버튼을 하나 넣고 이벤트를 연결한다.

이 이벤트는 기본 웹브라우저를 오픈하는 역할을 할 것이다.

기본 웹브라우저를 여는 코드는 아래와 같다.

 /** 기본 웹브라우저 열기 */
 var success = await Windows.System.Launcher.LaunchUriAsync(new Uri(연결할 인터넷 주소));

이벤트 코드를 보자.

버튼을 클릭했을 때의 처리 또한 비동기로 수행하는 것에 주목하자.

private async void Button_Click(object sender, RoutedEventArgs e)
{
	/** 주소 설정 */
	String vUriString = "https://www.google.com/";

	/** 기본 웹브라우저 열기 */
	var vAsyncOperation = await Windows.System.Launcher.LaunchUriAsync(new Uri(vUriString));

	if (vAsyncOperation) {}
	else { }
}

전체 실행코드를 살펴보자.

버튼을 클릭하면 기본 웹브라우저를 여는 전체 코드이다.

이것저것 섞여있지만 button_click 이벤트 부분만 보면 된다.

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 = "https://www.google.com/";

            /** 기본 웹브라우저 열기 */
            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);
        }
    }
}

반응형

댓글