как получить Файл списка И Папку, отобранную в Windows Explorer

Я должен заставить путь в настоящее время отбираемого Файла или Папки в Windows Explorer помещать 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);
    }
}
2
nl ja de
больше деталей, пожалуйста, чего вы пытаетесь достигнуть? может быть больше чем одно окно Windows Explorer, открытое за один раз или ни один.
добавлено автор Adi, источник
, что вы попробовали?
добавлено автор Venson, источник
как вы выбираете свой файл?
добавлено автор Uthistran Selvaraj, источник

3 ответы

Можно использовать OpenFileDialog (Дом и изучает 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);
}
1
добавлено

Ваш вопрос кажется неясным, Хоуп, которую вы используете OpenFileDialog для отбора файлов,

Если вы ищете путь к файлу:

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

Если вы ищете путь к каталогу:

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

В целом, Система. У IO.Path класс есть много полезных особенностей восстановления и управления информацией о пути.

1
добавлено
Сделайте я пишу, что 1 программа nho.va берет в Контекст Menu.when I R-щелчков файл или папка, программой будут управлять, и это возьмет путь папки или файла.
добавлено автор Babyboypk, источник

К тому, чтобы получить выбранные пункты, необходимо использовать следующие интерфейсы:

IServiceProvider
IShellBrowser
IFolderView
IShellFolder2
IPersistFolder2 

или непосредственно

(IEnumIDList and LPITEMIDLIST) foreach all selected items

Это хорошо работает в Windows 10.

0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)