我在ShellListView中显示了某个文件夹下的所有文件,现在我如何才干能做到当选中ShekkListView中某个文件时,再按窗体上的某个Button时,打开这个选中的文件,Button的Click事件该如何写法?请大家多多指教,谢谢!

解决方案 »

  1.   

    uses Shellapi;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShellExecute(0, 'open', PChar(ShellListView1.SelectedFolder.PathName), nil, nil, SW_SHOWNORMAL);
    end;
      

  2.   

    上述方法我试过了,可以实现。不过现在又发现了一个新的问题就是:当单击一个文件夹后,再单击Button时,把这个文件夹打开了,我现在不想打开文件夹,只想打开文件,不知道有什么方法可以改进的?还望指教,十分感谢!
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if FileExists(ShellListView1.SelectedFolder.PathName) then  // 判断是不是文件
        ShellExecute(0, 'open', PChar(ShellListView1.SelectedFolder.PathName), nil, nil, SW_SHOWNORMAL);
    end;