![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Jill |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 105 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Нашла неплохой код:
function TestPrinterStatus(LPTPort: Word): Byte; Но под NT он не работает!!! Просто из паскаля - все ок, а вот из делфи - ни в какую!!! Кто сталкивался с подобной проблемой? Что делать? |
![]() ![]() |
hiv |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Этот код неписан специально для DOS, а под win32 нужно использовать WIN32 API. Открыть файл или порт для винды все равно функция OPEN. Если какая-то программа этот порт открыла, то другая не сможет получить туда доступ. Посмотри в Delphi есть компонент TPrinter - может там найдешь то, что тебе нужно.
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Jill |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 105 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
С помощью TPrinter можно получить свойства, имя принтера, сервера, вывести очередь печати est. Но я не нашла статуса (готов/не готов). Это задача из разряда невыполнимых?
![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(Jill @ 9.08.2006 15:19) Это задача из разряда невыполнимых? Почему же сразу "невыполнимых?" Просто не совсем с помощью TPrinter...Смотри в сторону EnumPrinters, получай с его помощью список всех принтеров в системе (информация будет записываться в массив переменных типа TPrinterInfo2), и для принтера, у которого pPrinterName совпадает с нужным тебе смотри, чему равно поле Status этой самой структуры TPrinterInfo2 ... Чуть позже, если будет время, приведу пример кода, как это можно сделать... |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Хм... Не все так просто в Датском Королевстве...
![]() Единственное, что у меня пока получилось - это просмотреть очередь печати принтера, и только если она непустая, Status возвращается правильно... Может, кому-нибудь пригодится: Function GetCurrentPrinterHandle: THandle; |
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 18:40 |