2012-03-10 14 views
7

Windowsエクスプローラでファイルを検索し、検索結果からファイルを右クリックすると、 「ファイルの場所を開く」というオプションがあります。私は私のC#WinFormで同じものを実装したいと思います。私はこれをしました:ファイルの場所を開く

もっと良い方法がありますか?

+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 =&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。、cf.osb&biw = 1366&bih = 643)そのSOの投稿に私を着陸させた。 – gideon

4

これは私のコードで行います。エクスプローラのファイルディレクトリが開き、Windowsエクスプローラのように指定したファイルが選択されます。

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

私は "ProcessStartInfo"を使用すると何か利点はありますか?それもなく仕事です。 –