|
Печать в принтеры подключннные в СОМ порт
|
|||
---|---|---|---|
#18+
Народ есть принтера которые работают через СОМ интерфейс и очень важно чтобы если принтер выключен или закончилась термо бумага печать не "пропала" в никуда. Видел как это реализовано в RKeepere под дос но как такого добиться под виндой при печати на прямую в ком порт? Вариант с текстовым файлом не очень подходит. Наверняка есть какие-то возможности в этом плане? Может есть возможность проверки отработанной команды принтером типа если все ок - или нет , тогда нужно повторить печать?... всем спасибо. VFP 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 09:36 |
|
Печать в принтеры подключннные в СОМ порт
|
|||
---|---|---|---|
#18+
Попробуй использовать виндосовские библиотеки: Win32_Printer Через нее можешь узнать состояние принтера, вот пример, просто тупо выдрал из проги у себя. lcolSWbemObjectSet = loSWbemServices.InstancesOf("Win32_Printer") FOR Each loSWbemObject In lcolSWbemObjectSet ? loSWbemObject.Name ? loSWbemObject.Caption ? loSWbemObject.Default ? loSWbemObject.DeviceID ? loSWbemObject.DriverName ? loSWbemObject.Hidden ? loSWbemObject.Local ? loSWbemObject.Network ? loSWbemObject.PortName ? loSWbemObject.PrinterStatus ? loSWbemObject.ShareName ? loSWbemObject.Status ? loSWbemObject.SystemName ? loSWbemObject.Comment NEXT RELEASE loSWbemServices ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 10:37 |
|
Печать в принтеры подключннные в СОМ порт
|
|||
---|---|---|---|
#18+
Дед ЕвгенийПопробуй использовать виндосовские библиотеки: Win32_Printer Через нее можешь узнать состояние принтера, вот пример, просто тупо выдрал из проги у себя. lcolSWbemObjectSet = loSWbemServices.InstancesOf("Win32_Printer") FOR Each loSWbemObject In lcolSWbemObjectSet ? loSWbemObject.Name ? loSWbemObject.Caption ? loSWbemObject.Default ? loSWbemObject.DeviceID ? loSWbemObject.DriverName ? loSWbemObject.Hidden ? loSWbemObject.Local ? loSWbemObject.Network ? loSWbemObject.PortName ? loSWbemObject.PrinterStatus ? loSWbemObject.ShareName ? loSWbemObject.Status ? loSWbemObject.SystemName ? loSWbemObject.Comment NEXT RELEASE loSWbemServices loSWbemServices.InstancesOf это что за объект посмотри что выше у тебя в коде? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 19:49 |
|
Печать в принтеры подключннные в СОМ порт
|
|||
---|---|---|---|
#18+
Если повыше, то у меня создается объект, но под разные случаи этот код может быть по разному. ON ERROR ViewDomenIP.ErrorPrintScan(ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), YesError) loSWbemServices = GetObject("winmgmts://"+lcKompName+"\ROOT\cimv2") IF TYPE(loSWbemServices) = "O" .AND. YesError = .T. lcolSWbemObjectSet = loSWbemServices.InstancesOf("Win32_Printer") ********** Текст выше.... ********** ENDIF ON ERROR ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 09:04 |
|
Печать в принтеры подключннные в СОМ порт
|
|||
---|---|---|---|
#18+
lcKompName - Имя компьютера в домене. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 09:05 |
|
Печать в принтеры подключннные в СОМ порт
|
|||
---|---|---|---|
#18+
Вот еще интересный пример получения свойств принтера и управления им: http://forum.foxclub.ru/read.php?29,585814 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 13:54 |
|
|
start [/forum/topic.php?fid=41&fpage=41&tid=1583019]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 141ms |
0 / 0 |