-2

を配置するには、Windows エクスプローラーで現在選択されているファイルまたはフォルダーのパスを取得する必要がありますListView。私はあなたが助けてくれることを願っています.ありがとう

ソースの更新

public void GetListFileAndFolderOfWindowsExploer()
{
    try
    {
        string fileName;

        ArrayList selected = new ArrayList();
        Shell32.Shell shell = new Shell32.Shell();

        foreach (SHDocVw.InternetExplorer windows in new SHDocVw.ShellWindows())
        {
            fileName = Path.GetFileNameWithoutExtension(windows.FullName).ToLower();

            if (fileName.ToLowerInvariant() == "explorer")
            {
                Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)windows.Document).SelectedItems();

                foreach (Shell32.FolderItem item in items)
                {
                    lift = new string[] { item.Name, item.Path };

                    ListViewItem list = new ListViewItem();
                    list.Text = item.Name;
                    list.SubItems.Add(item.Path);
                    list.UseItemStyleForSubItems = true;
                    listView1.Items.Add(list);
                }
            }
        }
    }
    catch (Exception ex)
    {
        writelog(ex.Message);
    }
}
4

3 に答える 3

2

OpenFileDialog( Home と OpenFileDialog を学ぶ)を使用できます。

このリンクがお役に立てば幸いです。

OpenFileDialog fdlg = new OpenFileDialog();
fdlg.Title = "C# Help";
fdlg.InitialDirectory = @"c:\";
fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
fdlg.FilterIndex = 2;
fdlg.RestoreDirectory = true;
if (fdlg.ShowDialog() == DialogResult.OK)
{
     string dirName =
     System.IO.Path.GetDirectoryName(fdlg.FileName);
     string drive =
     dirName.Split(System.IO.Path.VolumeSeparatorChar)[0];
     MessageBox.Show(dirName);
     MessageBox.Show(drive);
}
于 2013-01-29T06:57:37.747 に答える
1

あなたの質問は不明確に思えます、あなたがOpenFileDialogファイルを選択するために使用していることを望みます、

ファイルパスを探している場合:

string path = OpenFileDialog1.FileName; //output = c:\folder\file.txt

ディレクトリパスを探している場合:

string path = Path.GetDirectoryName(OpenFileDialog1.FileName); //output = c:\folder

一般に、このSystem.IO.Pathクラスには、パス情報を取得および操作するための多くの便利な機能があります。

于 2013-01-29T06:55:10.303 に答える