Word. Запароленные документы - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. При попытке открытия запароленного документа, приложение Word становится видимым и предлагает пользователю самому ввести его. При просмотре параметров Documents.Open есть параметр пароля, но пароля я не знаю и знать не могу. Как можно обойти такой документ изначально, чтобы Word не спрашивал пользователя? Можно ли изначально проверить, запаролен ли документ и пропустить его? Заранее спасибо.

Решение задачи: «Word. Запароленные документы»

textual
Листинг программы
  1. public static Boolean IsProtected(String file)
  2. {
  3.     Byte[] bytes = File.ReadAllBytes(file);
  4.  
  5.     String prefix = Encoding.Default.GetString(bytes.Take(2).ToArray());
  6.  
  7.     // Zip and not password protected.
  8.     if (prefix == "PK")
  9.         return false;
  10.  
  11.     // Office format.
  12.     if (prefix == "ГђГЏ")
  13.     {
  14.         // XLS 2003
  15.         if (bytes.Skip(0x208).Take(1).ToArray()[0] == 0xFE)
  16.             return true;
  17.  
  18.         // XLS 2005
  19.         if (bytes.Skip(0x214).Take(1).ToArray()[0] == 0x2F)
  20.             return true;
  21.  
  22.         // DOC 2005
  23.         if (bytes.Skip(0x20B).Take(1).ToArray()[0] == 0x13)
  24.             return true;
  25.  
  26.         // Guessing
  27.         if (bytes.Length < 2000)
  28.             return false;
  29.  
  30.         // DOC/XLS 2007+
  31.         String start = Encoding.Default.GetString(bytes.Take(2000).ToArray()).Replace("\0", " ");
  32.  
  33.         if (start.Contains("E n c r y p t e d P a c k a g e"))
  34.             return true;
  35.  
  36.         return false;
  37.     }
  38.  
  39.     // Unknown format.
  40.     return false;
  41. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы