Word. Запароленные документы - C#
Формулировка задачи:
Здравствуйте.
При попытке открытия запароленного документа, приложение Word становится видимым и предлагает пользователю самому ввести его.
При просмотре параметров Documents.Open есть параметр пароля, но пароля я не знаю и знать не могу.
Как можно обойти такой документ изначально, чтобы Word не спрашивал пользователя?
Можно ли изначально проверить, запаролен ли документ и пропустить его? Заранее спасибо.
Решение задачи: «Word. Запароленные документы»
textual
Листинг программы
public static Boolean IsProtected(String file) { Byte[] bytes = File.ReadAllBytes(file); String prefix = Encoding.Default.GetString(bytes.Take(2).ToArray()); // Zip and not password protected. if (prefix == "PK") return false; // Office format. if (prefix == "ГђГЏ") { // XLS 2003 if (bytes.Skip(0x208).Take(1).ToArray()[0] == 0xFE) return true; // XLS 2005 if (bytes.Skip(0x214).Take(1).ToArray()[0] == 0x2F) return true; // DOC 2005 if (bytes.Skip(0x20B).Take(1).ToArray()[0] == 0x13) return true; // Guessing if (bytes.Length < 2000) return false; // DOC/XLS 2007+ String start = Encoding.Default.GetString(bytes.Take(2000).ToArray()).Replace("\0", " "); if (start.Contains("E n c r y p t e d P a c k a g e")) return true; return false; } // Unknown format. return false; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д