Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
1

Отлов события печати

13.12.2010, 19:17. Показов 5282. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот такой вот вопросик меня интересует:
Можно ли отлавливать событие отправки на печать? событие может происходить откуда угодно в винде(не из вижуал студии).
При этом, если мы его даже поймаем, можно ли вытащить ту информацию которая отправляется на печать? Например, записать эту инфу в какой-то файл.?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2010, 19:17
Ответы с готовыми решениями:

Отлов события нажатия клавиши мыши
как отловить нажатие клавиш мышек независимо куда было нажатие например if(нажата левая клавиша...

Отлов события клика кнопки
Всем здравствуйте. Борюсь с поставленной задачей уже несколько дней, все что нашел по поводу,не...

Отлов события выбора элемента ComboBox
На форме кнопка, с кодом: ComboBox1.ItemIndex := 0; В событии select ComboBox1 есть код, как...

Отлов события открытия файла в приложении
Всем привет. У меня такой трабл. Создал в Delphi текстовый редактор, но реализацию автоматического...

12
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
13.12.2010, 20:10 2
Используй Printer Spooler API, должно помочь в решении проблемы.
1
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
13.12.2010, 20:42  [ТС] 3
А куда обычно система сохраняет те данные/файлы которые должны быть распечатаны?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//объявляем функцию ShowMessage с параметром типа int
 public void ShowMessage(int a)
        {
            MessageBox.Show(a.ToString());
        }
//объявляем функцию ShowMessage с параметром типа string
        public void ShowMessage(string a)
        {
            MessageBox.Show(a);
        }
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender,EventArgs e)
        {
          int b=10;
          string f="sdfsd";
          ShowMessage(b);//здесь будет вызвана функция где параметр типа инт
          ShowMessage(f);//здесь будет вызвана функция где параметр типа стринг
        }
Вот это и называется перегрузкой
0
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
13.12.2010, 20:50 4
Вроде сюда
Код
X:\Windows\System32\spool\PRINTERS
но не уверен.
1
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
13.12.2010, 20:51  [ТС] 5
Спасибо, как дойду до реализации там уже по коду наверно еще спрошу, ну или если все нормально будет скину код чтоб другим еси че помогло)
0
9 / 9 / 0
Регистрация: 13.01.2010
Сообщений: 32
29.01.2011, 15:27 6
Дабы не плодить новые темы, присоединюсь к старой.
Нужно сваять монитор печати. Использование API спулера лежит на поверхности и прекрасно ловит все задания (кто, когда, что и откуда). Проблема только с вопросом "сколько". Проблема, которая грозит поставить крест на всей этой затее - для подавляющего большинства принтеров количество переданных на печать страниц содержит вранье - как правило (но не всегда!) не учитывается количество экземпляров. Чтение файлов спулинга тоже не помощник, поскольку их форматы (судя по всему) тайна за семью печатями...
Появилась мыслишка перехватывать обращения приложений к подсистеме печати - в общих чертах представляю как, но не могу сообразить что...
Буду благодарен за любую подсказку как в области перехвата обращений приложений к подсистеме печати, так и в смысле вообще в каком направлении можно еще порыть...
0
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
29.01.2011, 15:31  [ТС] 7
Надобность в этой задаче уже отпала- а нужно было, потому что был прибор и к нему не было дров, но типа у него отдельный разъем на принтер был и надо было достать инфу из прибора - все решилось когда узнали что там есть COM порт, и через него вытаскивали. Скажи какая задача у тебя? Глядишь тоже какое-нить решение найдется
0
9 / 9 / 0
Регистрация: 13.01.2010
Сообщений: 32
29.01.2011, 15:43 8
Цитата Сообщение от 23Alex24 Посмотреть сообщение
...Скажи какая задача у тебя?...
У меня задача простая - сваять монитор печати - кто, когда, куда, откуда и почем...
Для чего неплохо бы знать, сколько страниц было на передано на печать. Количество страниц в одном экземпляре спулер сообщает вполне корректно, а при печати нескольких экземпляров - увы, фигвам, очень далеко не всегда...
0
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
29.01.2011, 15:48  [ТС] 9
Мда, а та инфа которая сохраняется перед печатью ее можно поглядеть? Если да, то может и когда идет сама печать (т.е. ее попытка), можно ловить эту информацию-т.е. поток информации идущий уже на печать, тогда возможно и копии тоже будут?
0
9 / 9 / 0
Регистрация: 13.01.2010
Сообщений: 32
29.01.2011, 15:58 10
Пробовал.
Проблем нет, кроме одной - как бы узнать, где там хранится информация о количестве экземпляров. Форматов уйма и большинство "закрытые".
0
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
29.01.2011, 16:08  [ТС] 11
Хм,а может эта информация прям среди этих данных?
0
9 / 9 / 0
Регистрация: 13.01.2010
Сообщений: 32
29.01.2011, 16:27 12
Цитата Сообщение от 23Alex24 Посмотреть сообщение
Хм,а может эта информация прям среди этих данных?
Там и есть, вот только где (там много чего есть...)
Пробовал печатать один и тот же документ в разном количестве экземпляров и сравнивать спулинг - толку ноль
В общем это не выход, однозначно...
0
197 / 197 / 5
Регистрация: 24.07.2010
Сообщений: 1,311
29.01.2011, 16:28  [ТС] 13
Мда, тут наверно можно разобраться только если все про печать прочитать)
0
29.01.2011, 16:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2011, 16:28
Помогаю со студенческими работами здесь

glut отлов события закрытия окна
Добрый вечер! Как или какая функция (в glut), отвечает за событие закрытие окна. Что имею...

Отлов события нажатия на элемент списка
На сайте есть список вида: <select id="city_name" name="ext_params"><option label="Любой...

Отлов события открытия\закрытия cd привода и обнаружение наличия диска
Поздравляю всех с новым годом!) Хотел узнать, нужно поставить обработчики на такие события как...

Перехват события печати
Всем привет. Подскажите каким образом можно на удаленном узле, расположенном в лок. сети,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru