Monitowanie wydruku
Ostatnio zmodyfikowano 2012-03-30 00:13
Admixior Temat założony przez niniejszego użytkownika |
Monitowanie wydruku » 2012-03-29 15:39:35 Witam. Potrzebuję napisać program który będzie monitorował co jest drukowane. Tzn. czas wydruku, liczbę stron, zrobić ich kopie etc. Myślałem żeby zrobić to w sposób podobny jak jest to w PDF Creator, tzn. dodaje nową drukarkę i drukuję do niej. Niestety funkcja AddPrinter potrzebuje sterownik do drukarki. Szukałem coś na temat pisania sterowników ale stwierdziłem że jednak to nic nie pomoże. Czy wie ktoś w jaki sposób dodać drukarkę aby nie drukowała do urządzenia tylko do drugiego programu (coś typu PDF Creator lub OneNote)? Oraz jeśli nie można obejść się bez sterownika to w jaki sposób należy napisać go (tzn. szybki tutorial), żeby zrobić mniej więcej taki program. |
|
m4tx |
» 2012-03-29 16:23:32 Oraz jeśli nie można obejść się bez sterownika to w jaki sposób należy napisać go (tzn. szybki tutorial), żeby zrobić mniej więcej taki program. |
Taa... Szybki tutorial jak napisać sterownik... hah :P |
|
jsc |
» 2012-03-29 16:27:46 A może użyj jakiegoś haka? |
|
Admixior Temat założony przez niniejszego użytkownika |
» 2012-03-29 23:34:23 jsc - masz coś konkretnego na myśli? PS Czy można zrobić podgląd na to co siedzi w buforze wydruku? |
|
jsc |
» 2012-03-29 23:42:00 WH_MSGFILTER oraz WH_SYSMSGFILTER - dzięki tym hakom możemy monitorować komunikaty pochodzące z menu, pasków przewijania, message box'ów oraz okien dialogowych. Możemy też wykrywać aktywację okna przy pomocy Alt+Tab lub Alt+Esc. Normalnie nie możemy tego wszystkiego zrobić, gdy wykonywana jest jakakolwiek pętla modalna (np. wewnętrzna pętla message box'a). WH_SYSMSGFILTER ma działanie globalne, zaś WH_MSGFILTER dotyczy jedynie aplikacji, która zainstalowała hak |
WH_MSGFILTER oraz WH_SYSMSGFILTER wykorzystaj do przechwytywania okna Drukowanie. |
|
Admixior Temat założony przez niniejszego użytkownika |
» 2012-03-30 00:13:22 Poczytałem sporo w msdn na ten temat i wiem że używając haki nic nie zdziałam bo Print Manager wysyła wiadomość WM_SPOOLERSTATUS ale tylko w windows xp i starszych. Ale za to mam do dyspozycji dwie inne funkcje działające to samo: FindFirstPrinterChangeNotification i FindNextPrinterChangeNotification. To czego mogę się dowiedzieć tymi funkcjami to jedynie numer id "Job'a". Informacje rozszerzone o owej pracy mogę dostać funkcją GetJob i mogę otrzymać informacje w strukturach takich jak JOB_INFO_1 albo JOB_INFO_2. Niestety w tych strukturach mogę się tylko dowiedzieć różnych bajerów typu: jak się zwie dokument, ile zostało wydrukowanych stron, kto to drukuje, jak i czas druku. Mi jest potrzebne to aby mieć obraz tego co jest drukowane w jakimkolwiek formacie który można spokojnie odczytać. Czytając dalej msdn stwierdziłem że pobranie DC do druku jest nie możlwe. Więc czy drukując np. przez Ms Word (jeżeli drukarka jest podpięta) dane od razu do drukarki wysłane zostaną czy pierwej pójdą do bufora by potem móc się bez stresu wydrukować(oraz by móc je odczytać przez ową funkcję)? |
|
« 1 » |