Использование проводника Windows «Печать» в контекстном меню - PullRequest
1 голос
/ 02 апреля 2019

Я создал простое приложение для открытия, просмотра и печати файлов PDF. Я хочу, чтобы мое приложение могло обрабатывать, когда пользователь щелкает правой кнопкой мыши PDF в проводнике и выбирает «печать».

Мое приложение зарегистрировано в качестве обработчика по умолчанию для файлов PDF.

Итак, короче следует:

  1. Откройте приложение
  2. Открыть файл
  3. Отправка задания печати на принтер по умолчанию для пользователей
  4. Закрыть приложение

Я могу справиться с открытием, загрузкой, печатью и выходом вообще без проблем. Я просто не знаю, как сообщить моему приложению, что оно было запущено с помощью этой контекстно-зависимой опции «печать» в проводнике. Я думал, что он просто будет отправлен как дополнительный параметр, но я не могу его перехватить.

Есть идеи?

1 Ответ

0 голосов
/ 03 апреля 2019

Давайте посмотрим, как Acrobat DC обрабатывает печать:

Microsoft Windows [Version 10.0.17763.316]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users\Aybe>assoc .pdf
.pdf=AcroExch.Document.DC

Приводит нас к:

enter image description here

Так что в основном они вызывают приложение со специальными переключателями, о которых вы можете прочитать подробнее здесь:

Справочник по командной строке Adobe Reader

Вы также можете увидеть похожие примеры в MSDN:

https://docs.microsoft.com/en-us/windows/desktop/shell/fa-verbs

Короче говоря:

  • заставит ваше приложение обрабатывать ключи командной строки для такой ситуации
  • убедитесь, что эти ключи используются записью реестра
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...