C\#의 Process.start()방법 노트

1.MSDN 링크:http://technet.microsoft.com/zh-cn/library/h6ak8zt5?cs-save-lang=1&cs-lang=csharp#code-snippet-1
2.네 임 스페이스:System.Diagnostics;프로그램 집합:System.dll;
3.방법 정의:
public static Process Start(
	string fileName,
	string arguments
)

4.인자 fileName 형식:System.string 이 프로 세 스에 서 실행 할 프로그램 파일 의 이름 입 니 다.arguments 형식:System.string 이 프로 세 스 를 시작 할 때 전달 하 는 명령 행 실제 참조.반환 값 형식:System.Diagnostics.Process 가 이 프로 세 스 와 연 결 된 새로운 Process 구성 요소;프로 세 스 자원 을 시작 하지 않 았 다 면(예 를 들 어 기 존 프로 세 스 를 다시 사용 했다 면)null 입 니 다.
5.비고:
이 리 셋 을 사용 하면 프로 세 스 자원 의 파일 이름과 명령 행 인 자 를 지정 하여 프로 세 스 자원 을 시작 합 니 다.이 리 셋 은 자원 을 새 Process 구성 요소 와 연결 합 니 다.이 프로 세 스 가 실행 중이 라면 다른 프로 세 스 를 시작 하지 않 습 니 다.기 존 프로 세 스 자원 을 다시 사용 하고 새로운 프로 세 스 구성 요 소 를 만 들 지 않 습 니 다.이 경우 Start 는 새로운 Process 구성 요소 가 아 닌 호출 과정 으로 null 을 되 돌려 줍 니 다.실행 가능 한 파일 의 주 소 를 URL 로 시작 하려 면 프로 세 스 를 시작 하지 않 고 null 로 되 돌려 줍 니 다.이 리 셋 은 프로 세 스 를 먼저 만 들 지 않 고 프로 세 스 를 직접 시작 할 수 있 습 니 다.이 리 셋 은 다음 과 같은 명시 적 절차 의 대체 방법 입 니 다.새로운 Process 인 스 턴 스 를 만 들 고 StartInfo 속성의 FileName 과 Arguments 구성원 을 설정 하 며 Process 인 스 턴 스 를 Start 로 호출 합 니 다.지정 한 프로 세 스 의 파일 이름과 파 라 메 터 를 통 해 프로 세 스 를 시작 합 니 다.Windows 의 Start 메뉴 의 Run 대화 상자 에 이 파일 이름과 명령 행 파 라 메 터 를 입력 하 십시오.따라서 파일 이름 은 실행 가능 한 파일 을 표시 할 필요 가 없다.시스템 에 설 치 된 프로그램 과 연 결 된 모든 파일 형식 일 수 있 습 니 다.예 를 들 어 텍스트 파일 을 편집기(예 를 들 어"메모 장")와 연결 했다 면 파일 이름 은.txt 확장 자 를 가 질 수 있 습 니 다..doc 파일 을 어떤 글자 처리 도구(예 를 들 어 Microsoft Word)와 연결 했다 면.doc 확장 자 를 가 질 수 있 습 니 다.마찬가지 로 Run 대화 상 자 는.exe 확장자 가 있 거나 없 는 실행 가능 한 파일 이름 을 같은 방식 으로 받 아들 일 수 있 습 니 다.exe 확장 자 는 fileName 인자 에서 선택 할 수 있 습 니 다.예 를 들 어 fileName 인 자 를'Notepad.exe'또는'Notepad'로 설정 할 수 있 습 니 다.fileName 인자 가 실행 가능 한 파일 을 표시 하면 arguments 인 자 는 Notepad.exe my file.txt 와 같은 작업 을 수행 할 파일 을 표시 할 수 있 습 니 다.fileName 매개 변수 대표 명령(.cmd)파일 이 있 으 면 arguments 매개 변 수 는'/c'또는'/k'변 수 를 포함 하여 완료 후 명령 창 이 존재 하 는 지 여 부 를 지정 해 야 합 니 다.다른 리 셋 과 달리 인자 가 없 는 Start 리 셋 은 static 멤버 가 아 닙 니 다.Process 인 스 턴 스 를 만 들 었 다 면 시작 정보(파일 이름 포함)를 지정 하고 프로 세 스 자원 을 시작 하고 기 존 Process 인 스 턴 스 와 연결 하려 면 이 리 셋 을 사용 하 십시오.기 존 구성 요 소 를 시작 하 는 프로 세 스 가 아 닌 새 Process 구성 요 소 를 만 들 려 면 static 로 다시 불 러 오 십시오.이 리 셋 과 인자 가 없 는 리 셋 은 시작 할 프로 세 스 자원 의 파일 이름과 전달 할 명령 행 인 자 를 지정 할 수 있 습 니 다.시스템 에서 경로 변 수 를 따옴표 로 설명 하면 이 위치 에 있 는 모든 프로 세 스 를 시작 할 때 이 경 로 를 완전히 제한 해 야 합 니 다.그렇지 않 으 면 시스템 에서 이 경 로 를 찾 을 수 없습니다.예 를 들 어 c:\my path 가 경로 에 없 으 면 따옴표 로 추가 합 니 다(path=%path%;"c:\my path")는 c:\my path 의 모든 프로 세 스 를 시작 할 때 완전히 제한 해 야 합 니 다.ASP.NET 웹 페이지 와 서버 컨트롤 코드 가 웹 서버 의 ASP.NET 보조 프로 세 스 의 컨 텍스트 에서 실 행 됨 을 설명 합 니 다.ASP.NET 웹 페이지 나 서버 컨트롤 에서 Start 방법 을 사용 하면 새 프로 세 스 는 웹 서버 에서 제 한 된 권한 으로 실 행 됩 니 다.이 프로 세 스 는 클 라 이언 트 브 라 우 저 와 같은 컨 텍스트 에서 시작 할 수 없고 사용자 데스크 톱 에 접근 할 수 없습니다.Start 를 사용 하여 프로 세 스 를 시작 할 때마다 닫 아야 할 수도 있 습 니 다.그렇지 않 으 면 시스템 자원 을 잃 어 버 릴 위험 이 있 습 니 다.CloseMainWindow 나 Kill 을 사용 하여 프로 세 스 를 닫 습 니 다.위탁 관리 스 레 드 의 유닛 상태 에 대해 설명 할 필요 가 있다.프로 세 스 구성 요소 의 StartInfo 속성의 UseShellExecute 가 true 일 때 main()방법 을 설정 한 특성[STAThread]을 통 해 프로그램 에 스 레 드 모델 을 설정 하 였 는 지 확인 하 십시오.그렇지 않 으 면 위탁 관리 스 레 드 는 unknown 상태 에 있 거나 MTA 상태 에 들 어 갈 수 있 으 며,다음 상 태 는 true 로 설 정 된 UseShell Execute 와 충돌 할 수 있 습 니 다.일부 방법 은 단원 상태 가 unknown 이 아니 라 는 것 을 요구한다.명시 적 으로 상 태 를 설정 하지 않 으 면 프로그램 이 이러한 방법 을 만 났 을 때 기본 값 은 MTA 이 고 설정 이 진행 되면 유닛 상 태 를 변경 할 수 없습니다.그러나 운영 체제 셸 이 스 레 드 를 관리 할 때 MTA 는 이상 을 일 으 킬 수 있다.6.예제 코드:
void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

좋은 웹페이지 즐겨찾기