wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了打开Windows资源管理器目录,选择一个特定的文件(在delphi中)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个过程在 Windows资源管理器中打开一个文件夹,通过一个目录路径: procedure TfrmAbout.ShowFolder(strFolder: String); begin SHellExecute(Application.Handle,PChar('explore'),PChar(strFolder),nil,nil,SW_SHOWNORMAL); end; 有没有办法通
我有一个过程在 Windows资源管理器中打开一个文件夹,通过一个目录路径
procedure TfrmAbout.ShowFolder(strFolder: String);
begin
   SHellExecute(Application.Handle,PChar('explore'),PChar(strFolder),nil,SW_SHOWNORMAL);
end;

有没有办法通过这个文件名(完整的文件名路径或只是名称扩展名),并在Windows资源管理器中打开该文件夹,但也被突出显示/选择?我将要有多个文件的位置,然后我需要在Windows中操作该文件.

是的,您可以在@L_618_14@explorer.exe时使用 /select flag
SHellExecute(0,'explorer.exe','/SELEct,C:\WINDOWS\explorer.exe',SW_SHOWNORMAL)

一个更有趣(也许更可靠)的方法(使用SHellAPI,ShlObj):

const
  OFASI_EDIT = $0001;
  OFASI_OPENDESKTOP = $0002;

{$IFDEF UNICODE}
function ILCreateFromPath(pszPath: PChar): PItemIDList stdcall; external sHell32
  name 'ILCreateFromPathW';
{$ELSE}
function ILCreateFromPath(pszPath: PChar): PItemIDList stdcall; external sHell32
  name 'ILCreateFromPathA';
{$ENDIF}
procedure ILFree(pidl: PItemIDList) stdcall; external sHell32;
function SHOpenFolderAndSELEctItems(pidlFolder: PItemIDList; cidl: Cardinal;
  apidl: pointer; dwFlags: DWORD): HRESULT; stdcall; external sHell32;

function OpenFolderAndSELEctFile(const Filename: String): Boolean;
var
  IIDL: PItemIDList;
begin
  result := false;
  IIDL := ILCreateFromPath(PChar(FileName));
  if IIDL <> nil then
    try
      result := SHOpenFolderAndSELEctItems(IIDL,0) = S_OK;
    finally
      ILFree(IIDL);
    end;
end;

大佬总结

以上是大佬教程为你收集整理的打开Windows资源管理器目录,选择一个特定的文件(在delphi中)全部内容,希望文章能够帮你解决打开Windows资源管理器目录,选择一个特定的文件(在delphi中)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。