Загрузка...

How to run a file in a password-protected zip archive?

Thread in C# created by Lelouch May 30, 2021. 293 views

  1. Lelouch
    Lelouch Topic starter May 30, 2021 lolz.live/threads/8987017/ = Money $$$ 396 Jun 8, 2020
    В шапке
     
  2. id6996
    id6996 May 30, 2021 ♡ 9999 ▦ 12 апр 2018 165 Apr 12, 2018
    Видимо нужно ввести пароль:BrainCosmic:
    По другому никак.
     
    1. View previous comments (1)
    2. id6996
      Lelouch, ну так двойным щелчком, не?
    3. Lelouch Topic starter
      id6996, "Раздел по программированию C#"
    4. id6996
      Lelouch, Бля, сорри не увидел, поэтому вопрос и показался глупым)
  3. SamWinchester
    SamWinchester May 30, 2021 714 Jul 18, 2020
  4. VitalikButerin
    VitalikButerin May 30, 2021 Banned 1206 Jan 4, 2020
    как почитать переписки в вк если пароль на акке?
     
    1. View previous comments (2)
    2. Lelouch Topic starter
  5. r3xq1
    r3xq1 May 30, 2021 53 Jul 27, 2018
    Сначала находишь путь до Zip или Rar архиватора установленного в системе Windows
    Code

    namespace ZipEx
    {
    using Microsoft.Win32;

    public static class RegZipPath
    {
    /// <summary>
    /// Метод для поиска установленного WinRAR архиватора в системе через реестр
    /// </summary>
    /// <returns>Путь к <b>.exe</b> архиватору</returns>
    public static string FindWinRar()
    {
    string result = string.Empty;
    try
    {
    const string REGPATH = @"WinRAR\Shell\Open\Command";
    using RegistryKey Root = Registry.ClassesRoot.OpenSubKey(REGPATH);
    string winrarPath = (Root?.GetValue(""))?.ToString();
    winrarPath = winrarPath.Substring(1, winrarPath.Length - 7);
    result = winrarPath;
    }
    catch { } return result;
    }

    /// <summary>
    /// Метод для поиска установленного 7-Zip архиватора в системе через реестр
    /// </summary>
    /// <returns>Путь к <b>.exe</b> архиватору</returns>
    public static string FindWinZip()
    {
    string result = string.Empty;
    try
    {
    const string REGPATH = @"Software\7-Zip";
    using RegistryKey zip = Registry.CurrentUser.OpenSubKey(REGPATH);
    result = string.Concat((zip?.GetValue("Path"))?.ToString(), "7z.exe");
    }
    catch { } return result;
    }
    }
    }
    Потом записываем метод который распаковывает архив через стандартный архиватор Windows

    Code

    namespace ZipEx
    {
    using System.Diagnostics;
    using System.IO;

    public static class ArchCmd
    {
    /// <summary>
    /// Метод для распаковки .zip архива
    /// </summary>
    /// <param name="zipshell">Путь к архиватору</param>
    /// <param name="inputzip">Путь к архиву который нужно разархивировать</param>
    /// <param name="outputdir">Выходной путь, куда сохранять папку</param>
    public static void UnpackZip(string zipshell, string inputzip, string outputdir)
    {
    if (File.Exists(zipshell) && (!string.IsNullOrWhiteSpace(inputzip) || !string.IsNullOrWhiteSpace(outputdir)))
    {
    var pro = new ProcessStartInfo
    {
    WindowStyle = ProcessWindowStyle.Hidden,
    FileName = zipshell,
    Arguments = $"x {inputzip}.zip -o{outputdir}" // тут доп аргумент который принимает пароль, добавишь сам.
    };
    using var x = Process.Start(pro);
    x.WaitForExit();
    }
    }
    }
    }
    Затем разархивируешь методом архив и запускаешь файл из папки через
    Code
    Process.Start("Путь к файлу из папки");
     
    1. View previous comments (1)
    2. r3xq1
      @CoderVir, чтобы ты спросил.. ТС сам разберётся что ему использовать, я же предложил стандартный способ без использования сторонних библиотек.
    3. CoderVir
    4. Lelouch Topic starter
      r3xq1, ага норм вариант (у меня уведы были выключены только сейчас заметил), знакомая ава кстати и ник.
  6. Intelligence
    Intelligence May 30, 2021 Смотрит ваш профиль 4697 Aug 13, 2019
    просуши
     
  7. mikuzeboka
    mikuzeboka Jun 1, 2021 5 Jan 13, 2021
    Бля чел, создовал когда-то тему с += похожим вопросом, ебать столько даунов в коментах, дающих ебанутый ответ
     
Top
Loading...