이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 20225|회답: 0

[출처] C# Process.Start() 메서드가 자세히 설명되어 있습니다

[링크 복사]
게시됨 2016. 2. 2. 오전 11:53:28 | | |
System.Diagnostics.Process.Start(); 무엇을 할 수 있을까요? 주로 다음과 같은 기능을 수행합니다:
1. 링크 URL (팝업 창)을 엽니다.
2. 파일 디렉터리를 찾아 엽니다.
3. 시스템 내 "제어판" 등과 같은 특수 폴더를 엽니다.
그렇다면 이 기능들은 어떻게 구현되나요? 응용 분야에 대해 이야기하기 전에, Process.Star()의 구성 방법을 살펴보겠습니다.

이름
설명
프로세스. 시작 ()이 프로세스 구성 요소를 시작(또는 재사용)시작 정보속성은 프로세스 자원을 지정하고 그 구성 요소와 연관시킵니다.
Process.Start (ProcessStartInfo)프로세스 시작 정보(예: 시작할 프로세스의 파일명)를 포함하는 매개변수로 지정된 프로세스 자원을 시작하고, 그 자원을 새로운 프로세스 컴포넌트와 연관시킵니다.
프로세스.시작 (문자열)명칭별문서 또는 신청 파일의 이름입니다프로세스 리소스를 시작하고 그 리소스를 새로운 프로세스 컴포넌트와 연관시키는 것.
Process.Start (문자열, 문자열)명칭별애플리케이션의 이름과 명령줄 인자 집합프로세스 리소스를 시작하고 그 리소스를 새로운 프로세스 컴포넌트와 연관시키는 것입니다.
Process.Start (문자열, 문자열, SecureString, 문자열)명칭별앱 이름, 사용자 이름, 비밀번호, 도메인프로세스 리소스를 시작하고 그 리소스를 새로운 프로세스 컴포넌트와 연관시키는 것입니다.
Process.Start (String, String, String, SecureString, String)명칭별애플리케이션 이름과 명령줄 인수 집합, 사용자 이름, 비밀번호, 도메인프로세스 리소스를 시작하고 그 리소스를 새로운 프로세스 컴포넌트와 연관시키는 것입니다.
(1) 공공시작 ()
System.Diagnostics.Process process = new System.Diagnostics.Process();
과정. StartInfo.FileName = "iexplore.exe";   인터넷 익스플로러는 교체 가능합니다
과정. StartInfo.Arguments = "http://www.baidu.com";
과정. Start();

(2) 공공 정적과정시작 (프로세스 시작정보startInfo)
System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo();
processStartInfo.FileName = "explorer.exe";  익스플로러
processStartInfo.Arguments = @"D:\";
System.Diagnostics.Process.Start(processStartInfo);

(3) 공공정적과정Start (stringfileName)
System.Diagnostics.Process.Start(@"D:\Program Files\Tencent\QQ\Bin\QQ.exe");  파일 호출을 직접 열어

(4) 프로세스. 시작 (문자열)파일명, 문자열 인수)
System.Diagnostics.Process.Start("explorer.exe", "D:\\Readme.txt");   파일을 직접 열어Readme.txt

위의 예시는 process.start()로 웹사이트를 여는 방법이며, 이제 processs.star()를 사용해 파일을 찾는 방법에 대해 이야기해 보겠습니다.
이 현지화 방법은 단축키 {explorer /select"의 검색 대상과 유사하며, "D:\Program Files\Tencent\QQ\Bin\QQ.exe"과 유사합니다.
문자열 경로 = @"D:\Program Files\Tencent\QQ\Bin\QQ.exe";
System.Diagnostics.Process.Start("explorer.exe", "/select," +path);  D:\Program Files\Tencent\QQ\Bin 파일 디렉터리를 찾아 열고 QQ.exe
참고: /select 뒤에는 쉼표(,)가 있습니다.

다음으로, rundll32.exe을 호출하여 시스템별 파일을 여는 방법에 대해 이야기하고, rundll32.exe의 기능과 기능을 간단히 소개해 보겠습니다.
이름에서 알 수 있듯이, rundll32는 "실행 중인 32비트 DLL 파일"로, 실행 DLL 파일 내의 내부 함수를 포함해 Windows 32비트 동적 링크 라이브러리를 명령줄 형태로 호출할 수 있습니다.
마찬가지로, rundll.exe "16비트 dll 파일을 실행"하여 16비트 동적 링크 라이브러리를 호출합니다. 우리는 명령어를 실행하여 일부 기능을 수행합니다rundll32.exe.
예를 들어:
System.Diagnostics.Process.Start("rundll32.exe","user.exe,restartwindows");      시스템 재시작 명령어
rundll32 command 백과사전

명령줄 :rundll32.exe user.exe, restartwindows
기능: 시스템 재부팅

명령줄 :rundll32.exe user.exe, exitwindows
기능: 시스템 종료

명령줄: rundll32.exe shell32.dll, Control_RunDLL
기능: 디스플레이 제어판

명령줄: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1
기능: "제어판 - 접근성 옵션 - 키보드" 옵션 창 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL access.cpl, , 2
기능: "제어판 - 접근성 옵션 - 사운드" 옵션 창 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL access.cpl, 3
기능: "제어판 - 접근성 옵션 - 디스플레이" 옵션 창 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL access.cpl, 4
기능: "제어판 - 접근성 옵션 - 마우스" 옵션 창 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL access.cpl, 5
기능: "제어판 - 접근성 옵션 - 전통형" 옵션 창 표시

명령줄: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
기능: 제어판을 실행하고 - 새 하드웨어 마법사 추가.
명령줄: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
기능: 제어판 실행 - 새 프린터 마법사 추가.

명령줄: rundll32.exe shell32.dll, Control_RunDLL appwiz.cpl, , 1
기능: 제어판 - 프로그램 추가/제거 패널 표시.

명령줄: rundll32.exe shell32.dll, Control_RunDLL appwiz.cpl, , 1
기능: "제어판 - 프로그램 추가/제거 - 설치/제거" 패널 표시.

명령줄: rundll32.exe shell32.dll, Control_RunDLL appwiz.cpl, , 2
기능: "제어판 - 프로그램 추가/제거 - Windows 설치" 패널을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,3
기능: "제어판 - 프로그램 추가/제거 - 시작 디스크" 패널을 표시합니다.

명령줄: rundll32.exe syncui.dll, Briefcase_Create
기능: 데스크톱에 새로운 "내 서류가방"을 만듭니다.

명령줄: rundll32.exe diskcopy.dll, DiskCopyRunDll
기능: 복사 플로피 디스크 창 표시

명령줄: rundll32.exe apwiz.cpl, NewLinkHere %1
기능: "단축키 생성" 대화상자를 표시하며, 생성된 단축키의 위치는 %1 매개변수에 의해 결정됩니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,0
기능: 날짜 및 시간 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL timedate.cpl, , 1
기능: 시간대 옵션 창 표시.

명령줄: rundll32.exe rnaui.dll, RnaDial [다이얼업 연결 이름]
기능: 다이얼업 연결을 위한 다이얼링 창을 표시합니다. 이미 연결을 다이얼했다면, 창이 현재 연결 상태를 보여줍니다.

명령줄: rundll32.exe rnaui.dll, RnaWizard
기능: 새로운 다이얼업 연결 마법사 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,0
기능: "속성 - 배경 표시" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL desk.cpl, , 1
기능: "디스플레이 속성 - 화면 보호" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
기능: "속성 표시 - 외관" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 3
기능: 속성 표시 - 속성 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, SHHelpShortcuts_RunDLL FontsFolder
기능: Windows Fonts 폴더를 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
기능: Windows Fonts 폴더도 표시합니다.

명령줄: rundll32.exe shell32.dll, SHFormatDrive
기능: 플로피 디스크 포맷 대화상자 표시.

명령줄: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,0
기능: "제어판 - 게임 컨트롤러 - 일반" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1
기능: "제어판 - 게임 컨트롤러 - 고급" 옵션 창을 표시합니다.

명령줄: rundll32.exe mshtml.dll, PrintHTML (HTML 문서)
기능: HTML 문서 인쇄.

명령줄: rundll32.exe shell32.dll, Control_RunDLL mlcfg32.cpl
기능: Microsoft Exchange 일반 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
기능: 제어판 - 마우스 옵션 표시.

명령줄: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
기능: "제어판 - 키보드 속성 - 속도" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
기능: "제어판 - 키보드 속성 - 언어" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
기능: Windows 프린터 폴더를 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
기능: "제어판 - 입력 방법 속성 - 입력 방법" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL modem.cpl, 추가하기
함수: 새 모뎀 추가 마법사를 실행합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,0
기능: "Control Panel - Multimedia Properties - Audio" 속성 페이지를 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
기능: "제어판 - 멀티미디어 속성 - 비디오" 속성 페이지를 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL mmsys.cpl, , 2
기능: "제어판 - 멀티미디어 속성 - MIDI" 속성 페이지를 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL mmsys.cpl, 3
기능: "Control Panel - Multimedia Properties - CD Music" 속성 페이지를 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL mmsys.cpl, 4
기능: 제어판 - 멀티미디어 속성 - 장치 속성 페이지를 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
기능: "제어판 - 사운드" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL netcpl.cpl
기능: 제어판 - 네트워크 옵션 창 표시.

명령줄: rundll32.exe shell32.dll, Control_RunDLL odbccp32.cpl
기능: ODBC32 데이터 관리 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,OpenAs_RunDLL {drive:/path/filename}
기능: 지정된 파일(drive:/path/filename)에 대해 열기 대화상자를 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL password.cpl
기능: "제어판 - 비밀번호" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL powercfg.cpl
기능: "제어판 - 전원 관리 속성" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder
기능: Windows 프린터 폴더를 표시합니다. (같은 rundll32.exe shell32.dll, Control_RunDLL main.cpl @2)

명령줄: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,0
기능: "제어 패널 - 로칼 속성 - 로칼" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL intl.cpl, , 1
기능: "제어 패널 - 로컬 속성 - 숫자" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL intl.cpl, , 2
기능: "컨트롤 패널 - 로컬 속성 - 통화" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL intl.cpl, 3
기능: "제어판 - 로컬 속성 - 시간" 옵션 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL intl.cpl, 4
기능: "제어 패널 - 로컬 속성 - 날짜" 옵션 창을 표시합니다.

명령줄: rundll32.exe desk.cpl, InstallScreenSaver [스크린 보호기 파일명]
기능: 지정된 화면 보호 파일을 Windows 화면 보호기로 설정하고 화면 보호 속성 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,0
기능: "제어판 - 시스템 속성 - 전통" 속성 창을 표시합니다.

명령줄: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
기능: "제어판 - 시스템 속성 - 장치 관리자" 속성 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL sysdm.cpl, 2
기능: "제어판 - 시스템 속성 - 하드웨어 구성 파일" 속성 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL sysdm.cpl, 3
기능: "Control Panel - System Properties - Performance" 속성 창을 표시합니다.

명령줄: rundll32.exe shell32.dll, Control_RunDLL telephon.cpl
기능: 다이얼 속성 옵션 창 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL themes.cpl
기능: 데스크톱 테마 옵션 패널 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL firewall.cpl
기능: Windows 방화벽 패널 표시

명령줄: rundll32.exe shell32.dll, Control_RunDLL NetSetup.cpl, @0, WNSW
기능: "무선 네트워크 설정" 패널 표시
더 많은 명령어는 여기에서 다운로드할 수 있습니다:http://download.csdn.net/detail/czw2010/4530206

System.Diagnostics.Process.Start("notepad.exe");        -- 노트패드 열어
System.Diagnostics.Process.Start("calc.exe ");                -- 계산기 열어
System.Diagnostics.Process.Start("regedit.exe ");           -- 등록부 열어
System.Diagnostics.Process.Start("mspaint.exe ");        -- 설계도를 열어
System.Diagnostics.Process.Start("write.exe ");              -- 오픈 워드패드
System.Diagnostics.Process.Start("mplayer2.exe ");        --플레이어를 열어
System.Diagnostics.Process.Start("taskmgr.exe ");          --작업 관리자 열기
System.Diagnostics.Process.Start("eventvwr.exe ");          --이벤트 뷰어 열기
System.Diagnostics.Process.Start("winmsd.exe ");           --오픈 시스템 정보
System.Diagnostics.Process.Start("winver.exe ");              --Open Windows 버전 정보
System.Diagnostics.Process.Start("mailto: "+ address);    -- 이메일 보내세요

shutdown.exe:
매개변수: -s 종료 -r 재시작 -f 강제 -t 시간 -a 종료 취소 -l 로그아웃 -i 표시 사용자 인터페이스
System.Diagnostics.Process.Start("shutdown.exe","-r");              -- 컴퓨터를 종료하고 재시작하세요
System.Diagnostics.Process.Start("shutdown.exe","-s -f");          -- 컴퓨터 종료
System.Diagnostics.Process.Start("shutdown.exe","-s -f 30");     -- 30초 후에는 컴퓨터를 종료하세요
System.Diagnostics.Process.Start("shutdown.exe","-l");               --컴퓨터에서 로그아웃해
System.Diagnostics.Process.Start("shutdown.exe","-a");              --컴퓨터 종료 되돌리기

특별 폴더회원 열거:

회원 이름
설명
ApplicationData현재 로밍 중인 사용자를 위한 애플리케이션별 데이터를 위한 공개 저장소 역할을 합니다.
로밍 사용자는 네트워크의 여러 컴퓨터에서 작업합니다. 로밍 중인 사용자의 프로필은 웹 서버에 저장되며, 로그인 시 시스템에 로드됩니다.
CommonApplicationData디렉터리는 모든 사용자가 사용하는 애플리케이션별 데이터를 위한 공개 저장소 역할을 합니다.
공통 프로그램파일과거에는 애플리케이션 간에 공유되는 컴포넌트 디렉터리가 있었습니다.
쿠키인터넷 쿠키의 공개 저장소로 사용되는 디렉터리입니다.
데스크톱물리적 파일 시스템 위치가 아니라 논리적인 데스크톱입니다.
데스크톱디렉토리데스크톱에 파일 객체를 물리적으로 저장하는 디렉터리입니다.
이 디렉터리는 가상 폴더인 데스크톱 폴더와 혼동해서는 안 됩니다.
좋아하는 선수들사용자 즐겨찾기 항목의 공개 저장소 역할을 하는 디렉터리입니다.
역사인터넷 역사 항목의 공개 저장소 역할을 하는 디렉터리입니다.
인터넷캐시인터넷에서 임시 파일을 위한 공개 저장소로 사용되는 디렉터리입니다.
LocalApplicationData디렉터리는 현재 비로밍 사용자가 사용하는 애플리케이션별 데이터를 위한 공개 저장소 역할을 합니다.
마이컴퓨터내 컴퓨터 폴더.
주석
My Computer 폴더에는 경로가 정의되어 있지 않기 때문에, MyComputer 상수는 항상 빈 문자열("")을 생성합니다.

마이 문서내 컴퓨터 폴더.
마이뮤직"내 음악" 폴더.
마이픽처스"내 사진" 폴더.
개인사문서의 공개 저장소로 사용되는 디렉터리입니다.
프로그램파일프로그램 파일 디렉터리.
프로그램사용자 프로그램 그룹 디렉터리를 포함하고 있습니다.
최근사용자가 가장 최근에 사용한 문서들을 담은 목차입니다.
SendToSend 메뉴 항목이 포함된 목차입니다.
시작 메뉴시작 메뉴 항목이 포함된 목차입니다.
창업사용자의 시작 그룹에 해당하는 디렉터리입니다.
이 프로그램들은 사용자가 로그인하거나 Windows NT 이상을 부팅하거나 Windows 98을 시작할 때마다 실행됩니다.
시스템"시스템" 디렉터리.
템플릿문서 템플릿의 공개 저장소 역할을 하는 디렉터리입니다.
Environment.GetFolderPath(Environment.SpecialFolder.XXXXX); 시스템 내 특정 폴더의 특정 경로를 쉽게 얻고, Process.Start() 메서드로 폴더를 열 수 있습니다.
예를 들어:
System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.System));   시스템 폴더(System32 폴더)를 열어보세요.


[System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
        private static extern int FindWindow(문자열 ClassName, 문자열 WindowName);
[System.Runtime.InteropServices.DllImport("user32.dll")]
        private static extern int ShowWindow(int 핸들, int cmdShow);
[System.Runtime.InteropServices.DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
        private static extern int mciSendString(string lpstrCommand, string lpstrReturnstring, int uReturnLength, int hwndCallback);
        개인 콘센트 정SW_HIDE = 0; API 매개변수는 숨겨진 창을 나타냅니다
        사설 콘센트 지능 SW_SHOW = 5; API 매개변수는 창이 현재 크기와 위치로 표시됨을 나타냅니다
        ShowWindow(FindWindow("Shell_TrayWnd", null), SW_HIDE);         -- 숨겨진 작업 표시줄 숨기기
        ShowWindow(FindWindow("Shell_TrayWnd", null), SW_SHOW);      -- 작업 표시줄 표시
        mciSendString("set CDAudio door open", null, 127, 0);       -- 광학 드라이브를 팝업해
        mciSendString("set CDAudio door closed", null, 127, 0);     --광학 드라이브 꺼





이전의:DROP과 REJECT의 차이점
다음:워드프레스 프로그램 SSL CA 인증서 문제(경로? 접근 권한?)
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com