|
|
|
Получаем состояние принтера
|
|||
|---|---|---|---|
|
#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, 12:35 |
|
||
|
Получаем состояние принтера
|
|||
|---|---|---|---|
|
#18+
или может кто нибудь узнавал состояние принтера другим способом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 14:21 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33072172&tid=2031927]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 452ms |

| 0 / 0 |
