2010-11-27 12 views
9

次のWindowsエクスプローラでファイルを選択しても機能しない

を使用する
explorer.exe /select, "c:\path\to\file.txt" 

Windowsエクスプローラを開いてファイルを選択できます。 Delphiでは、私は "Parm"ファイルを選択するためにこれを行います:

ShellExecute(Application.MainForm.Handle, 'OPEN', PChar('explorer.exe'), PChar('/select,"' + Parm + '"'), nil, SW_NORMAL); 

そしてそれは動作します。私の問題はこれです:最近開いたエクスプローラで別のファイルを選択して(別のファイルをクリック)、上記のコードを呼び出すと、「Parm」ファイルが再度選択されません。興味深いことに、ファイルを再度選択するプログラムがあります。たとえば、iTunesは常に希望のファイルを選択します。

エクスプローラで常に指定されたファイルを選択する方法のヒントを誰かが持っていますか?

答えて

13

これは、explorer.exeで/ selectスイッチを使用する場合の既知の制限です。親フォルダがまだ開いていない場合は、特定のファイルのみが選択されます。

代わりにSHOpenFolderAndSelectItemsのようなAPIコールを使用する必要があります。この機能は、複数選択を可能にします。

+0

パーフェクト、ありがとう、私はこの関数atmの名前を思い出しようとしていました –

+0

SHOpenFolderAndSelectItemsの優れた例がここにあります:http://stackoverflow.com/questions/15300999/open-windows-explorer-directory-select-特定のデルファイファイル – Lars

関連する問題