
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.05.2005, 12:35
|
|||
|---|---|---|---|
Получаем состояние принтера |
|||
|
#18+
Задача у меня получить состояние принтера (проверить его готовность к печати), т.е. включен ли он, и т.д. pPrinterInfo->Status - как я понимаю должет быть равен 0 только когда всё "OK" но у меня он равен 0 всегда (даже когда принтер выключен). GetPrinter заполняет pPrinterInfo - может я что не так делаю, но другие значения(pPrinterInfo->pServerName, и.д.) выводятся правильно - значит как я понимаю структура возвращается нормальной. подскажите что я не правильно понимаю или делаю вот исходник ниже (я его нашёл в нете - везде работает а у меня лажа или он у всех не работает ?) DWORD cByteNeeded,nReturned,cByteUsed; JOB_INFO_2 *pJobStorage = NULL; PRINTER_INFO_2 *pPrinterInfo = NULL; if (!GetPrinter(hPrinter, 2, NULL, 0, &cByteNeeded)) { if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FALSE; } pPrinterInfo = (PRINTER_INFO_2 *)malloc(cByteNeeded); if (!(pPrinterInfo)) {printf("Error - alloc memory (pPrinterInfo)\n");return FALSE;} if (!GetPrinter(hPrinter, 2, (LPBYTE)pPrinterInfo, cByteNeeded, &cByteUsed)) { printf("Error - access denide to printer\n"); free(pPrinterInfo); pPrinterInfo = NULL; return FALSE; } printf("\n****************************************************************************"); printf("\npServerName=%s",pPrinterInfo->pServerName); printf("\npPrinterName=%s",pPrinterInfo->pPrinterName); printf("\npShareName=%s",pPrinterInfo->pShareName); printf("\npPortName=%s",pPrinterInfo->pPortName); printf("\npDriverName=%s",pPrinterInfo->pDriverName); printf("\npComment=%s",pPrinterInfo->pComment); printf("\npLocation=%s",pPrinterInfo->pLocation); printf("\npSepFile=%s",pPrinterInfo->pSepFile); printf("\npPrintProcessor=%s",pPrinterInfo->pPrintProcessor); printf("\npDatatype=%s",pPrinterInfo->pDatatype); printf("\npLocation=%s",pPrinterInfo->pLocation); printf("\npParameters=%s",pPrinterInfo->pParameters); printf("\nAttributes=%d",pPrinterInfo->Attributes); printf("\nPriority=%d",pPrinterInfo->Priority); printf("\nDefaultPriority=%d",pPrinterInfo->DefaultPriority); printf("\nStatus=%d",pPrinterInfo->Status); printf("\ncJobs=%d",pPrinterInfo->cJobs); printf("\n****************************************************************************\n"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2005, 14:21
|
|||
|---|---|---|---|
Получаем состояние принтера |
|||
|
#18+
или может кто нибудь узнавал состояние принтера другим способом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2006, 09:15
|
|||
|---|---|---|---|
|
|||
Получаем состояние принтера |
|||
|
#18+
У меня этот код тоже не работает, не удается получить хендл принтера функцией OpenPrinter, функция GetLastError возвращает код 87-неверный параметр, хотя принтер работающий и имя его правильное - проверял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2031927]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
140ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 438ms |

| 0 / 0 |
