2012-03-10 2 views
7

Windows 탐색기에서 파일을 검색하고 검색 결과에서 파일을 마우스 오른쪽 단추로 클릭 할 때; "파일 위치 열기"옵션이 있습니다. 내 C# WinForm에서 같은 것을 구현하고 싶습니다.열린 파일 위치

if (File.Exists(filePath) 
{ 
    openFileDialog1.InitialDirectory = new FileInfo(filePath).DirectoryName; 
    openFileDialog1.ShowDialog(); 
} 

그것을 할 수있는 더 좋은 방법이 있나요 : 나는 이런 짓을?

+1

솔루션에 직면 한 문제는 무엇입니까? 'openFileDialog_View'가 OpenFileDialog 인 경우, 사용자에게 ** 파일을 열어 ** 표시하도록하는 대화 상자가 나타납니다. – gideon

+0

나는 어떤 대안과 더 좋은 방법을 원한다면? –

+1

다음 내 대답보기 :) – gideon

답변

28

openFileDialog_ViewOpenFileDialog 인 경우 사용자에게 파일을 열지 묻는 대화 상자가 나타납니다. 당신이 실제로 탐색기에서 위치를 열고 싶어한다고 가정합니다.

이 작업을 수행 할 것입니다 : 으로

if (File.Exists(filePath)) 
{ 
    Process.Start("explorer.exe", filePath); 
} 

선택 파일 explorer.exe이 같은 /select 인수를 취

explorer.exe /select, <filelist> 

내가 SO 게시물에서 이것을 얻었다을 : Opening a folder in explorer and selecting a file

코드는 다음과 같습니다.

if (File.Exists(filePath)) 
{ 
    Process.Start("explorer.exe", "/select, " + filePath); 
} 
+0

이것은 "explorer.exe"이어야합니다 – scartag

+0

좋은 미스터 기드온. 그 파일을 선택하고 싶습니다. 어떻게? –

+1

@H_wardak 내 대답이 업데이트되었습니다. 간단한 [google 검색] (http://www.google.co.in/webhp?sourceid=chrome-instant&ix=sea&ie=UTF-8&ion=1#hl=en&output=search&sclient=psy-ab&q=open%20explorer%20and % & seq & biw = 1366 & bih = 643) & lt;/aq = & aq = & aq = & aqi = & aq = & gs_sm = & gs_upl = & gs_l = & pbx = 1 & fp = 237055d012d02b32 & ix = sea & ion = 1 & bav = on.2, 또는 .r_gc.r_pw.r_cp.r_qf. 그 자리에 저를 착륙 시켰습니다. – gideon

4

이것은 내 코드에서 수행하는 방법입니다. 이렇게하면 탐색기에 파일 디렉토리가 열리 며 Windows 탐색기 에서처럼 지정한 파일을 선택합니다.

if (File.Exists(path)) 
{ 
    Process.Start(new ProcessStartInfo("explorer.exe", " /select, " + path); 
} 
+1

"ProcessStartInfo"를 사용하면 어떤 이점이 있습니까? 그것은 또한 그것없이 일합니다. –