Страница: 1 | 2 |
Вопрос: Отображение PDF
Добавлено: 02.03.09 13:23
Автор вопроса:
Леша | ICQ: 362231326
Здравствуйте, есть такая задача: нужно показать документ pdf пользователю только для просмотра и печати, чтобы он не имел возможности его пересохранить и т.д. каким образом это можно реализовать? Пробовал через acroPDF.dll но никак не получилось блокировать меню правой кнопки.
Ответы
Всего ответов: 20
Номер ответа: 1
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 02.03.09 14:29
Код, представленный ниже, убирает панель, но через меню ее снова можно восстановить..
В общем не знаю..
Номер ответа: 2
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #2
Добавлено: 02.03.09 14:39
Этим можно убрать панельинструментов сверху и аналогично скролбары - а по нажатии альт+ф8 она снова появиться - но да ладно. Меню по правой кнопке как убрать???
Номер ответа: 3
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #3
Добавлено: 02.03.09 15:39
Сабклассировать контрол, не давать ничего делать по WM_RBUTTONDOWN, делов то!
Номер ответа: 4
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #4
Добавлено: 02.03.09 15:49
О! Ща буду пробовать! Thank! ^)
Номер ответа: 5
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #5
Добавлено: 02.03.09 16:02
ха, а нету acroPDF1.hWnd чего творить?
Номер ответа: 6
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #6
Добавлено: 02.03.09 17:47
Как нет, он что неоконный? Бывает конечно и такое, но вероятно просто неочевидным образом находится его hWnd. Надо поискать в дочерних окнах твоего приложения по имени класса (для начала перечисли дочерние окна формы с показом имени класса - узнгаешь имя класс и действуй).
Номер ответа: 7
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #7
Добавлено: 02.03.09 19:03
Смотри скриншот:
http://mc-black.narod.ru/vba/acroread.jpg
Это твоя форма, в ней в 2-х контейнерах лежит документ. Сама форма находится поиском окон на рабочем столе (по имени класса и заголовку), далее находим дочернее окно по имени класса, начинающемуся с "F3 Server " , следовательно имеем hWnd контрола. А дальше сабклассинг.
Номер ответа: 8
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #8
Добавлено: 02.03.09 19:11
Посмотрел Adobe Acrobat 7.0 Browser Control Type Library 1.0 - там есть класс AcroPDF Member of AcroPDFLibCtl, но как то нет у него hWnd.
Номер ответа: 9
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #9
Добавлено: 02.03.09 19:30
Щас буду пробовать...
Номер ответа: 10
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #10
Добавлено: 02.03.09 21:05
Что то не могу разобраться с именем класса для acroPDF. Нахожу все контролы с помощью EnumChildWindows
Номер ответа: 11
Автор ответа: GDK
Вопросов: 13
Ответов: 348
Профиль | | #11
Добавлено: 03.03.09 13:01
EnumChildWindows - Г-но. Пробуй ф-ции типа для поиска следующего дочернего окна. Если не знаешь какие - подскажу (есть опыт по управлению чужим приложением, там их и использовал). А может быть процессы разные у твоей проги и Adobe Acrobat 7.0 Browser Control Type Library 1.0. И не советую сабклассить. Лучше отправить какое-нибудь PostMessage(...... , чтоб кнопка стала неактивной и усё.
Номер ответа: 12
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #12
Добавлено: 03.03.09 16:08
Подкажите пожалуйста, а то я не понимаю
Номер ответа: 13
Автор ответа: Леша
ICQ: 362231326
Вопросов: 9
Ответов: 76
Профиль | | #13
Добавлено: 03.03.09 16:09
Вчера получил список всех дочерних окон с их хэндлами и именами классов - и дальше не могу понять ничего - темные лес и куча дров
Номер ответа: 14
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #14
Добавлено: 03.03.09 22:56
Попробуй с дочерними контролами (выборочно) сделать так:
Или послать сообщение, чтобы сделать окно недоступным, вот так:
Номер ответа: 15
Автор ответа: mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #15
Добавлено: 03.03.09 23:00
А дерево окон предварительно ты можешь посмотреть какой-нибудь утилитой, типа Spy++ из утилит с VC6 или любую аналогичную из множества диспетчеров окон.