Автор Тема: Как программно открыть запароленный word-файл?  (Прочитано 4205 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zap

  • Коллежский регистратор
  • *
  • Сообщений: 7
  • Репутация: 0
Ув. эксперты!
Subj.

MASM
XP

Следующий код не работает,я так понял,все "немного" сложнее:
lpOperation   BYTE    "open",0
lpFile            BYTE    "test.doc",0
lpParameters  BYTE    "password",0
---
invoke ShellExecute,0,addr lpOperation,addr lpFile,addr lpParameters,0,SW_SHOWNORMAL

Буду благодарен за конкретный ответ,т.к. я только учусь.

Оффлайн Адамантэус

  • Коллежский советник
  • *****
  • Сообщений: 725
  • Репутация: 24
  • Пол: Мужской
  • Телезритель
Во первых 0 - это NULL, во воторых опция password для winword не предусмотрена, в третьих предпоследний параметрер это каталог файла test.doc, который может отличаться от текущего для текущего диска.

Оффлайн Zap

  • Коллежский регистратор
  • *
  • Сообщений: 7
  • Репутация: 0
Я не понял,зачем давать такие "ответы",если по существу сказать ничего не можешь?.
Во-первых,то что то NULL это 0 знают еще в 1-ом классе,к чему это сказано - непонятно.
В-третьих,указанный выше код работает,если нужно просто открыть doc-файл в текущей директории без пароля,так что все в ф-ии указано верно,
Во - вторых,спасибо за инфу,что опция password для winword не предусмотрена
А в четвертых - а где же,собственно,ответ на вопрос?


Оффлайн Alexiski

  • Любитель давать советы
  • Надворный советник
  • *****
  • Сообщений: 307
  • Репутация: 15
  • Пол: Мужской
Сомневаюсь, что Word имеет нужный Вам механизм.

Как вариант - отловите появление окошка на ввод пароля, заполните его и сэмулируйте нажатие кнопки.

Оффлайн Адамантэус

  • Коллежский советник
  • *****
  • Сообщений: 725
  • Репутация: 24
  • Пол: Мужской
  • Телезритель
 По существу нужно выбирать сразу конструктивный подход, а то что код - что решение задачи = 0. Я например опцию передачи пароля в командной строку winword не знаю, и думаю что её там и нет из-за соображений безопасности (хотя кто ищет, как говориться может уже и нашёл  :no:).
 И я вполне согласен с тем что без EnumWindows эту задачу в приципе решить не удасться, а в-третьих "в текущей директории", говорится о том что её изменили - а кто или что не упоминается - магическое получается "число"  :bravo: