Подскажите как открыть папку где лежит сам файл .exe через список процессов в (listView)?

349
16 января 2017, 18:35

Получаю процессы так:

Process[] Proc;
void startprocess()
{
   Proc = Process.GetProcesses();
   for (int i = 0; i < Proc.Length; i++)
            {
                  ListViewItem itm2 = new ListViewItem(Proc[i].ProcessName + ".exe");
                  if (!listView1.Items.Contains(itm2))
                  {
                        this.listView1.Items.Add(itm2);
                  }
            }
}

Теперь не могу понять как открыть папку к лежащему файлу.

Пытался сделать так:

        foreach (ListViewItem item in listView1.SelectedItems)
        {
            Process.Start(new ProcessStartInfo("explorer.exe", @" /select," + item.Text));
        }

Но открывает всегда одну и ту же рабочую папку.

Answer 1

Вам нужно узнать полный путь к процессу. Это делается через

Proc[i].MainModule.FileName

Имея полное имя, можно легко получить каталог:

Path.GetDirectoryName(Proc[i].MainModule.FileName)
READ ALSO
Создание массива из TextBox

Создание массива из TextBox

Добрый день, подскажите как можно задать кол-во элементов массива из TextBox?

578
EF поле сущности не устанавливается в null

EF поле сущности не устанавливается в null

Поле Customer допускает значение nullПри попытке его устновить в null, оно остается прежним

325
Оптимизация заполения таблицы в MS Word

Оптимизация заполения таблицы в MS Word

Всем приветУ меня стоит задачка в заполнении таблицы в MS Word

408