Explorer でフォルダを開いてファイルを選択(既に開かれている場合は再利用) - Delphi

Windows Explorer でフォルダを開いてファイルを選択、これは通常の explorer.exe /select, オプションで実現可能ですが、既にフォルダが開かれている場合、そっちを再利用したい

参考文献

uses 節に FileCtrl, ShlObj, ActiveX が無ければ追加
  1. function OpenFolderAndSelectFile(FileName: string): boolean;  
  2. var  
  3.     DidInitCOM: boolean;  
  4.     IIDL: PItemIDList;  
  5. begin  
  6.     Result := False;  
  7.     DidInitCOM := False;  
  8.     try  
  9.         IIDL := ILCreateFromPath(PChar(FileName));  
  10.         if (IIDL <> nilthen  
  11.             try  
  12.                 Result := (SHOpenFolderAndSelectItems(IIDL, 0, Nil, 0) = S_OK);  
  13.             finally  
  14.                 ILFree(IIDL);  
  15.             end;  
  16.     finally  
  17.         if DidInitCOM then  
  18.             CoUninitialize;  
  19.     end;  
  20. end;  

コメント