Application 프로그램 내부에서 특정 사이트로 유도 할때가 있을것이다.
Application 내에서 자신의 홈페이지로 바로가기 버튼을 클릭하면 브라우저가 열리면서 입력한
주소로 찾아간다던지 안내를 위한 특정 주소로 링크를 걸어 클릭하면 찾아가는 서비스 등을
말한다.
이것의 실행원리는 C# 에서 제공하는 System.Diagnostics.Process 클래스를 사용하여
외부프로그램인 explorer.exe, iexplore.exe 실행시켜 이동시키는 것이다.
이 외에도 외부프로그램을 실행시키는 예제는 다음과 같이 많이 쓴다.
윈도우 종료 : System.Diagnostics.Process.Start("cmd.exe","ShutDown.exe -s -f -t 00");
원도우 재부팅 : System.Diagnostics.Process.Start("cmd.exe","ShutDown.exe -r -f -t 00");
특정폴더 열기: System.Diagnostics.Process.Start("explorer.exe","C:\Temp”);
특정사이트열기 : System.Diagnostics.Process.Start(“explorer.exe”, “http://www.naver.com”);
도스명령어 실행 : System.Diagnostics.Process.Start(“cmd.exe”, “*/c dir”);
위의 예제에서도 나와 있지만 Start 함수를 실행할 때 explorer 와 두번째 파라미터에 URL 을
넘겨주면 일반 브라우저에서 실행한것처럼 URL 사이트로 이동하게 된다.
하지만 위의 예제와 같이 URL 뒤에 파라미터가 없으면 상관이 없지만 아래와 같이
파라미터가 존재하는 주소를 넘기게 되면 찾을수 없는 디렉토리라며 연결되지 않고 에러를
발생시킨다.
그래서 디렉토리가 아닌 사이트만 연결하고자 할때에는 explorer 대신 iexplorer.exe 를
실행시켜야 된다.
System.Diagnostics.ProcessStartInfo pro = new System.Diagnostics.ProcessStartInfo(“iexplore.exe”, “http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043”);
System.Diagnostics.Process.Start(pro);
내가 이 예제를 언급한 것은 이것을 이용해서 프로그램을 설치할 컴퓨터에 NET Framework 가
설치 되어있는지 검사해서 없으면 마이크로소프트 NET Framework 다운로드 사이트로
이동하게 하는 것이다..
로컬 컴퓨터에 CLR 설치정보를 알기위해선 System.Environment 의 많은 환경정보들중
Version 속성값으로 알수 있다. 이 버전정보를 통해서 설치되어있지 않거나 버전이 낮으면
위에서 언급한 내용처럼 사이트로 이동을 시키는 것이다.string frameworkVersion = System.Environment.Version.ToString(); // CLR 버전정보 if ((frameworkVersion == null) || (frameworkVersion.CompareTo("2.0.0.0") < 1)) { System.Diagnostics.ProcessStartInfo pro = new System.Diagnostics.ProcessStartInfo("iexplore.exe", "http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID= 10cc340b-f857-4a14-83f5-25634c3bf043"); System.Diagnostics.Process.Start(pro); }
'기타 언어 > C# & MFC' 카테고리의 다른 글
원하는 프로그램의 핸들 얻기 (3) | 2009.11.02 |
---|---|
WebBrowser 컨트롤의 HTML 코드에서 DOM 객체처럼 특정 태그 내용을 추출 (4) | 2009.11.01 |
컴퓨터 종료 프로그램 (0) | 2009.09.22 |
TreeView 노드 Key 속성을 만드는 Visual C# 에서 방법 (0) | 2009.09.20 |
C# 리소스 관리하기 (2) | 2009.09.16 |
ListView 에서 행간간격을 조절하여 가독성을 높여보자 (0) | 2009.09.12 |
에러 - Unable to find manifest signing certificate in the certificate store (1) | 2009.09.10 |
C# using 사용법 (0) | 2009.09.04 |