|
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
|
|
Контроль принтеров. Вот задачка!?03.06.2007, 10:50. Показов 1253. Ответов 5
Метки нет (Все метки)
У нас в конторе три принтера, и боссы очень строго
относятся к расходу бумаги. Ну вот я и решил сделать что-то на подобие проги для контроля спуллинга на принтера. Начал использовать API, опрашиваю принтера, через функцию EnumJobs получаю задания на печать. Делаю это все по таймеру. У кого был опыт по таким делам или по юзанию таких апишных функций? Спасибо за любой совет!
0
|
|
| 03.06.2007, 10:50 | |
|
Ответы с готовыми решениями:
5
Слежение/контроль за работой принтеров Вот такая вот задачка:) вот такая задачка |
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 03.06.2007, 12:24 | |
|
Посмотри вот этот пример, там используется EnumPrinters и PRINTER_INFO_2 для того чтобы получить статус принтера и статус его текущих задач.
http://www.relib.com/code.asp?id=155
0
|
|
|
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
|
|
| 03.06.2007, 12:46 [ТС] | |
|
Да это мы сделали уже. Проблема в том , что не могу правильно определить формат бумаги из задания, выдает то другие форматы!
retval = EnumJobs(Hprinter, 0, 100, 2, arraybuf(0), needed, needed, numitems) ' ïðîñìî ;òð çàäàí&e grave;é íà ïå÷àò&uu ml;================ lendivfour = Len(jobinfo) / 4 ' íîìåð ýëåìå&iac ute;òîâ äëÿ êàæäî&eacu te; ñòðóê&ogr ave;óðû â ìàññè âå For c = 0 To numitems - 1 ' öèêë jobinfo.JobId = arraybuf(lendivfour * c) ' ïåðâû&eacu te; ýëåìå&iac ute;ò â ìàññè âå jobinfo.pUserName = Space(lstrlen(arraybuf(lendivfour * c + 3))) '÷åòâå&e th;òûé ýëåìå&iac ute;ò retval = lstrcpy(jobinfo.pUserName, arraybuf(lendivfour * c + 3)) CopyMemory jobinfo.pDevMode, arraybuf(lendivfour * c + 10), Len(jobinfo.pDevMode) ' ñòðóê&ogr ave;óðà DevMode ' âîò çäåñü áåðó ôîðìà&ogra ve; òî jobinfo.TotalPages = arraybuf(lendivfour * c + 18) ' nineteenth element CopyMemory jobinfo.Submitted, arraybuf(lendivfour * c + 20), Len(jobinfo.Submitted) ' 21 ýëåìå&iac ute;ò jobinfo.Status = arraybuf(lendivfour * c + 13) ' èíôî ïî çàäàí&e grave;ÿì íà listview íà ôîðìå====== =========== Set itmReport = Form1.lstvReport.ListItems.Add(, , jobinfo.JobId) itmReport.SubItems(1) = jobinfo.pUserName itmReport.SubItems(2) = jobinfo.TotalPages itmReport.SubItems(3) = jobinfo.pDevMode.dmPaperSize itmReport.SubItems(4) = jobinfo.Submitted.wHour & ':' & jobinfo.Submitted.wMinute & _ ':' & jobinfo.Submitted.wSecond & ' GMT' Select Case jobinfo.Status Case JOB_STATUS_SPOOLING itmReport.SubItems(5) = 'èäåò ñïóëë&egrav e;íã...' Case JOB_STATUS_PRINTING itmReport.SubItems(5) = 'èäåò ïå÷àò&uu ml;...' Case JOB_STATUS_PAUSED itmReport.SubItems(5) = 'ïàóçà. ..' Case JOB_STATUS_DELETED itmReport.SubItems(5) = 'çàäàí& egrave;å
0
|
|
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 03.06.2007, 12:53 | |
|
ты чего такое послал?
0
|
|
|
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
|
|
| 03.06.2007, 13:13 [ТС] | |
|
Пардон! Хотел послать кусок своего кода, да поспешил. Не могу разобраться с типом DEVMODE,
откуда беру формат бумаги
0
|
|
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 03.06.2007, 13:31 | |
|
Посмотри здесь:
http://www.vbapi.com/ref/d/devmode.html
0
|
|
| 03.06.2007, 13:31 | |
|
Помогаю со студенческими работами здесь
6
вот так задачка((( вот так задачка Вот такая задачка Вот так не задачка с SP-2
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|