C# Открытие архива через внешнее приложение

142
14 апреля 2018, 18:15

Подскажите пожалуйста, как можно открывать архивы через внешнее приложение(explorer или всякие архиваторы)? Пробовал через Process.Start , но почему то после срабатывания метода архив ломается и не открывается(При открытии выдает ошибку - the archive is either in unknown format or damaged).

var filePath = Settings.TempDirectory + (string.IsNullOrEmpty(realname) ? fileName : realname);
                File.WriteAllBytes(filePath, fileContent);
                var psi = new ProcessStartInfo
                {
                    FileName = filePath,
                    ErrorDialog = true,
                };
                Process.Start(psi);
Answer 1

Как один из возможных вариантов. Если у вас в системе установлен 7z, то с помощью его менеджера 7zFM можно открыть архив следующим образом:

static void Main(string[] args)
{
    var processStartInfo = new ProcessStartInfo();
    processStartInfo.UseShellExecute = false;
    processStartInfo.FileName = @"C:\Program Files\7-Zip\7zFM.exe";
    processStartInfo.Arguments = @"D:\nuget.7z";
    Process.Start(processStartInfo);
    Console.ReadLine();
}

В результате у вас запуститься окно менеджера архивов 7z(которым мы привыкли пользоваться, когда используем 7z), где вы увидите распакованный архив nuget.7z

Для того, чтобы открыть архив с ассоциированной программой, сделайте так

    var processStartInfo = new ProcessStartInfo();
    processStartInfo.FileName = @"D:\nuget.7z";
    Process.Start(processStartInfo);
READ ALSO
Ограничение listbox wpf только одним элементом

Ограничение listbox wpf только одним элементом

Добрый деньКак можно ограничить листбокс одним элементом? Или же сделать так чтобы новый элемент появлялся вместо первого?

133
Текстовой редактор Atom Фризит

Текстовой редактор Atom Фризит

Пишу совершенно не сложный, не объемный CSS HTML JS код, учусьAtom в свою очередь почему-то иногда фризиться, просто на несколько секунд, потом продолжает...

224
Плавное появление блоков

Плавное появление блоков

Подскажите, пожалуйста, как сделать, чтобы при нажатии на троеточие очень плавно появлялись другие кнопки? transition что-то не срабатывает

229
Как убрать точки от <li>

Как убрать точки от <li>

Как можно убрать это (в неупорядоченном списке <li>):

159