Visual C#을 사용하여 프로그래밍 방식으로 기본 인터넷 브라우저 시작
이 문서에서는 Visual C#을 사용하여 기본 인터넷 브라우저를 시작하는 방법을 보여줍니다.
원래 제품 버전: Visual Studio
원래 KB 번호: 305703
참고
- 이 문서에서는 Microsoft .NET Framework 클래스 라이브러리 네임스페이스 를 참조합니다
System.Diagnostics
. - 이 문서의 Visual C++ .NET 버전은 Visual C++를 사용하여 기본 인터넷 브라우저를 프로그래밍 방식으로 시작하는 방법을 참조하세요.
열 URL, FTP 또는 파일 지정
URL, 파일 또는 FTP(파일 전송 프로토콜) 주소를 지정할 수 있습니다. 이러한 세 가지 할당은 모두 유효합니다.
string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
Process 클래스 Start 메서드를 사용하여 브라우저 시작
클래스에는 Process
정적 Start
메서드가 포함되어 있습니다. 정적 메서드이므로 클래스의 instance Process
없이 를 호출 Start
할 수 있습니다.
System.Diagnostics.Process.Start(target);
클래스에 대한 자세한 내용은 프로세스 클래스를 Process
참조하세요.
예외 처리 제공
메서드를 호출 Start
할 때 기본 UseShellExecute
속성을 활용하기 때문에 레지스트리를 명시적으로 쿼리하여 기본값인 브라우저를 확인할 필요가 없습니다. 그러나 브라우저가 설치되지 않은 컴퓨터에서 이 방법을 사용하면 예외가 발생합니다. 적절한 작업을 수행할 수 있도록 이 예외를 catch해야 합니다.
이 예제에서는 필요한 레지스트리 키를 찾을 수 없을 때 생성되는 오류를 명시적으로 트래핑하고 브라우저가 설치되지 않음을 나타냅니다. 또한 발생할 수 있는 다른 오류에 대한 일반적인 예외 처리기가 제공됩니다. 블록은 try...catch
전체 코드 목록에 설명되어 있습니다.
전체 코드 샘플
string target= "http://www.microsoft.com";
//Use no more than one assignment when you test this code.
//string target = "ftp://ftp.microsoft.com";
//string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
try
{
System.Diagnostics.Process.Start(target);
}
catch (System.ComponentModel.Win32Exception noBrowser)
{
if (noBrowser.ErrorCode==-2147467259)
MessageBox.Show(noBrowser.Message);
}
catch (System.Exception other)
{
MessageBox.Show(other.Message);
}
문제 해결
이 코드는 레지스트리의 HKEY_CLASSES_ROOT(HKCR) 하이브에 있는 애플리케이션 파일 형식 연결에 따라 크게 달라집니다. 레지스트리가 손상된 경우 예기치 않은 결과 및 예외가 발생할 수 있습니다. 또한 파일 형식 및 확장명은 브라우저 이외의 애플리케이션과 연결될 수 있습니다. 예를 들어 HTM 또는 HTML 파일은 브라우저 대신 웹 개발 소프트웨어와 연결될 수 있습니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기