본문 바로가기
프로그래밍 언어/C#

[C#] 프로그램에서 URL 열기, 브라우저 설정

by Jinwood 2023. 12. 18.
반응형

1. 프로그램에서 URL 열기

프로그램에서 URL을 열기 위해서는 Process 클래스를 사용한다.(System.Diagnostics.Process)

URL을 열기 위해 구글링 해봤는데, 역시 stackoverflow에 그 해답이 있었다.

 

아래 코드를 살펴보면 다음과 같이 동작을 수행한다.

  1. OS Platform에 따라서 url 수정을 진행.(&가 다르게 인식되어 그런 듯)
  2. ProcessStartInfo에 url과 UseShellExecute 설정을 정의.
  3. Process.Start()로 실행

특정 경로가 아닌 URL(www.google.com과 같은)은 그냥 Process.Start()로 열린다고 다른 블로그에 설명되어 있으나, 

아래 예와 같이 특정 경로를 포함한다면 Process.Start()로 바로 열리지 않는다.

아래 코드를 실행하면 url 주소가 기본 브라우저에서 열리게 된다.

 

string url = "http://www.somethingurl.com/pp/dir/nav";
if(RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
    url = url.Replace("&", "^&");
    var processInfo = new System.Diagnostics.ProcessStartInfo(url { UseShellExecute=true});
    System.Diagnostics.Process.Start(processInfo);
}

 

 

2. 프로그램에서 URL 열기 - 브라우저 설정

위 글에 추가하여 특정 브라우저에서 열리게 하는 방법도 소개한다.

크롬의 https 정책 때문에 VS Code로 만든 웹페이지의 파일이 다운로드되지 않는 현상이 있어 Microsoft Edge 브라우저로 URL을 열고 싶었다.(Edge 브라우저는 다운로드가 된다 ㅇㅅㅇ)

방법은 간단한데 앞서 설명한 코드에 브라우저를 설정해 주면 된다.

 

ProcessStartInfo에 URL 앞에 "microsoft-edge:"를 작성하면 Edge 브라우저에서 URL이 열리게 된다.

 

string url = "http://www.somethingurl.com/pp/dir/nav";
if(RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
    url = url.Replace("&", "^&");
    var processInfo = new System.Diagnostics.ProcessStartInfo("microsoft-edge:"+url { UseShellExecute=true});
    System.Diagnostics.Process.Start(processInfo);
}

 

 

 

 

 

오류 또는 문의사항은 댓글에 작성해 주시기 바랍니다.

반응형

댓글