|
|
|
Печать заданного документа на заданный принтер
|
|||
|---|---|---|---|
|
#18+
Задача: Есть ДОКУМЕНТ (xls, doc,txt,jpg,итд), суть что в виндах указано или не указано как его печатать Есть ПРИНТЕР bla-bla-bla (он не обязательно по умолчанию). Надо: напечатать ДОКУМЕНТ на принтер bla-bla-bla, при этом желательно получить результат, типа напечатался или нет. Один из вариантов решения: Читаем тут: http://www.biopdf.com/guide/examples/command_line/ Скачиваем утилиту printto.exe http://www.biopdf.com/guide/examples/command_line/files.zip Выполняем команду Код: plaintext либо что-то есть, т.е. информация об ошибке, в общем если что-то пошло не так, то файл не пустой, напр.система не знает, как печатать файл "*.exe". Далее думаем как применить VB, Shell работает, но с файлом printrezult.txt проблемы, то не образуется, то пустой при явной ошибке. Ладно, ругаемся, идем читать старую забытую тему. Чтение результатов работы консольного приложения Находим код, предоставленный Konst_One Вместо Shell запускаем Код: plaintext и все хорошо, если len(ExecCmd)= 0, то OK, если не нулю, то печать не удалась. printto.exe работает на ура, требует правда net.framework 2.0, но это не беда ибо мое большое приложение тоже его требует. Однако... Есть ли способ эту ерунду сделать через какие-либо API, не прибегая к exe-шнику стороннего производителя, из анализа exe-шника я ничего не понял, использует mscoree.dll, анализ кот. идей не добавляет, и очевидно ссылки на Framework внутри,очень маленький. (обычно из просмотра exe черех hex понимается имя библиотеки и какие API искать). Winspool.drv мне ничего не дал, на Miсrosoft есть пример, но это похоже лишь для печати текста. ShellExecute(...print..) вроде работает, но во-первых мне показалось, что с глюками, а во-вторых он печатает только на принтер "по-умолчанию", что противоречит условиям задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2009, 04:53 |
|
||
|
Печать заданного документа на заданный принтер
|
|||
|---|---|---|---|
|
#18+
Вообще-то это именно ShellExecute, подвох в 4-м параметре (имя принтера), также надо понимать, что все res>32 не ошибка, а OK, ну а SW_HIDE к сожалению не работает, плевала она на 6-й параметр: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2009, 05:18 |
|
||
|
|

start [/forum/search_topic.php?author=milk&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
13ms |
get forum list: |
11ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 662ms |
| total: | 776ms |

| 0 / 0 |
