在 WINDOWS 下使用搜索功能时,在搜索结果中选中文件,然后右键菜单中有“打开所在文件夹”选项,点击能打开文件夹,并能使该文件获得焦点 。   请问在Delphi该如何实现 ?比如路径“C:\WINDOWS\NOTEPAD.EXE”!   打开文件夹“C:\WINDOWS”容易实现,但使“NOTEPAD.EXE”获得焦点就不知道该如何实现   忘指教,谢谢

解决方案 »

  1.   

    打开时获得新打开的窗口句柄,显示文件图标的是ListView控件,可以通过查找获得其句柄,然后发送LVM_SETITEMSTATE消息,把结构中的参数设置为LVIS_SELECTED
    相应的Item可以通过LVM_FINDITEM获得
      

  2.   

    无需那么复杂.uses shellapi;procedure TForm1.Button1Click(Sender: TObject);
    var
      strExeFile: String;
    begin
      strExeFile := 'C:\windows\explorer.exe';
      ShellExecute(Handle, nil, 'Explorer.exe', PChar('/n,/select,' +
          strExeFile), nil, SW_SHOW);
    end;