c# processstartinfo 예제

파일 이름에 .doc 파일과 같은 실행 불가능한 파일이 포함된 경우 파일에 수행할 작업을 지정하는 동사를 포함할 수 있습니다. 예를 들어 .doc 확장에서 끝나는 파일에 대해 동사를 “인쇄”로 설정할 수 있습니다. FileName 속성에 지정된 파일 이름은 동사 속성에 대한 값을 수동으로 입력하는 경우 확장명이 필요하지 않습니다. 그러나 사용 가능한 동사를 결정하기 위해 동사 속성을 사용하는 경우 확장을 포함해야 합니다. 다음 코드 예제에서는 ProcessStartInfo 클래스를 사용하여 인터넷 익스플로러를 시작하는 방법을 보여 주며 대상 URL을 ProcessStartInfo 인수로 제공합니다. 셸 실행을 사용하면 몇 가지 이점이 있습니다. 파일 형식에 등록된 열려 있는 작업이 있는 문서를 시작할 수 있습니다. 예를 들어 텍스트 문서를 시작할 수 있으며 메모장이 열립니다. 그러나 입력 / 출력 스트림이 부모 콘솔이 방법으로 리디렉션되지 않는다는 것을 기억해야합니다. 부모 콘솔에서 자식 프로세스를 실행하는 올바른 방법은 ProcessStartInfo 클래스의 UseShellExecute 속성을 설정하는 것입니다. 시간 명령을 실행하는 예제를 살펴보겠습니다.

왜 시간인가? 그것은 표준 입력에서 읽기 때문에. 이렇게 하면 어떤 콘솔을 사용하는지 알 수 있습니다. 우리의 예를 들어 나는 SymbolicLinkStatus가 원격 -> 로컬 등어에 대해 무엇인지 보고 싶었습니다 : StartInfo는 프로세스를 시작하는 데 사용할 매개 변수 집합을 나타냅니다. Start가 호출되면 StartInfo를 사용하여 시작할 프로세스를 지정합니다. 설정하는 데 필요한 유일한 StartInfo 멤버는 FileName 속성입니다. FileName 속성을 지정 하 여 프로세스를 시작 하는 것은 Windows 시작 메뉴의 실행 대화 상자에 정보를 입력 하는 것과 비슷합니다. 따라서 FileName 속성 실행 파일을 나타낼 필요가 없습니다. 확장이 시스템에 설치된 응용 프로그램과 연결된 모든 파일 형식일 수 있습니다. 예를 들어 FileName은 메모장과 같은 편집기와 텍스트 파일을 연결한 경우 .txt 확장자를 가질 수 있으며 Microsoft Word와 같은 워드 프로세싱 도구를 사용하여 .doc 파일을 연결한 경우 .doc을 가질 수 있습니다. 마찬가지로 실행 대화 상자가 .exe 확장자를 사용하거나 받지 않고 실행 파일 이름을 수락할 수 있는 것과 마찬가지로 .exe 확장자는 FileName 멤버에서 선택 사항입니다. 예를 들어 FileName 속성을 “Notepad.exe” 또는 “메모장”으로 설정할 수 있습니다.

Start 메서드에서 반환하는 프로세스 개체의 StartInfo 속성에만 액세스해야 합니다. 예를 들어 GetProcess에서 반환하는 프로세스 개체에서 StartInfo 속성에 액세스해서는 안 됩니다. 그렇지 않으면 .NET Core에서 StartInfo 속성은 잘못된 작업예외를 throw하고 .NET 프레임워크에서는 더미 ProcessStartInfo 개체를 반환합니다. 또한 해당 파일로 수행할 작업을 정의하는 다른 속성을 설정할 수 있습니다. 동사 속성에 대한 FileName 속성의 형식과 관련된 값을 지정할 수 있습니다.

This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.