2010-05-13 3 views
19

이것은 파일/폴더와 작동하는 프로그램에있는 편리한 기능입니다."포함 폴더 열기"구현 및 파일 강조 표시

System.Diagnostics.Process.Start(*path to folder*); 

... 실제로 해당 폴더 내에서 대상 파일을 선택하는 방법은 무엇입니까? Process.Start 메서드를 사용하면 실제로 파일을 열려고 시도합니다.

+0

[폴더 열기 및 파일 선택] (http://stackoverflow.com/questions/33463) 0/open-folder-and-select-the-file) – RandomEngy

답변

46

Windows Explorer Command-Line Options에 따르면 /select 매개 변수로 explorer 프로세스를 시작하기 만하면됩니다.

예를 들어 'explorer /select,c:\Windows'은 c:\windows 폴더가 선택된 창을 엽니 다.

따라서 간단히 Process.Start("explorer.exe", "/select," + filename)으로 충분해야합니다.

+1

고마워요! 놀랍게도 Directory Opus가 설치되면 explorer.exe를 명시 적으로 참조 했음에도 불구하고 Directory Opus가 대신 사용됩니다. 이것은 좋은 일입니다. – Crosbie

+0

@Crosbie 디렉토리 오푸스가 탐색기에 연결되어 호출을 가로 채기 때문입니다. –

4

폴더를 포함하는 /select, "filename" 명령 행 인수

System.Diagnostics.Process.Start(
    "explorer.exe", 
    string.Format("/select, \"{0}\"", filename)); 
+0

'select'의 매개 변수가 공백으로 구분 된 것이 아니라 – Regent

+0

@regent가 아니라 쉼표로 구분되어야하기 때문에 이것은 작동하지 않습니다. 오타가 수정되어서 고마워요. –

+0

위대한 작품! 감사! – devios1

1

와 Explorer.exe에서 실행,자가 디렉토리는 여러 가지 방법으로 표현된다! DOS와 박쥐 파일에서 ... Start . 또는 Start .\. (Y)

시도 ...이 2 일 D하지만 여부를 확인하십시오! 간단한 2 가지 방법이 .. .하고, .\.의 차이점이 무엇인지 전혀 생각입니다 이것은 해결책입니다.

System.Diagnostics.Process.Start("explorer.exe", @".\."); 

또는

System.Diagnostics.Process.Start("explorer.exe", @"."); 

- 때때로 응용 프로그램이 임시 디렉토리 나 다른 디렉토리에서 실행

  • (예 : 샌드 박스에서 ... 동안이나 바이러스 백신으로 스캔. .. 등 :