|
secondmoon 님이 쓰신 글 :
: 저도 정확하게는 모릅니다만, API 함수중 EnumPrinters 함수의 레벨 2정보의 Status에
:
: 프린터가 OFF인지 체크하는 것이 있는 것 같습니다.
:
: 다음은 참고 예제를 제가 약간 변경 한 것인데, 제 컴은 프린터가 없어서 제대로 된건지는 알 수 없습니다........;;
:
: EnumPrinters를 help에서 찾아보시기 바랍니다.
:
:
:
:
: DWORD cbNeed, cbReturn;
: EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &cbNeed, &cbReturn);
: PRINTER_INFO_2 *pi2;
: pi2 = (PRINTER_INFO_2 *)malloc(cbNeed);
: EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 2, (PBYTE)pi2, cbNeed, &cbNeed, &cbReturn);
:
: if (pi2[0].Status == PRINTER_STATUS_OFFLINE)
: ShowMessage("Off");
: else
: ShowMessage("On");
:
: free(pi2);
:
:
:
:
: 초보자 님이 쓰신 글 :
: : bool __fastcall TtcdResult::checkPrintName()
: : {
: :
: : TPrinter *P = Printer();
: : TRACE("Print Name=%s P->Printers->Count=%d P->PrinterIndex=%d P->Printing=%d P->Handle=%d"
: : , P->Printers->Text ,P->Printers->Count ,P->PrinterIndex ,P->Printing ,P->Handle);
: :
: : if (P->PrinterIndex != 0)
: : {
: : return true;
: : }
: : else
: : {
: : return false;
: : }
: : return true;
: : }
: :
: :
: : 위의 TRACE를 넣어서 ON, OFF 시 테스트 했는데.. count ,index, name .. 등 값이 모두
: : 내용이 같습니다..
: :
: : 프린트 ON , OFF 처리 어떻게 해야되는지 ..모르겠습니다.
|