• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何檢測打印機是否聯機

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    使用專用打印機 ,沒有驅動程序,我用直接往lpt1寫的方法打印,如果打印機聯接正常, 打印的數據會正常輸出,但是當打印機未聯機或打印機沒開,程序打印時就會死機,只能按Ctrl+Alt+Del強行終止 。有什么辦法可以判斷打印機狀態,或是如何設置一個timeout時
        使用專用打印機 ,沒有驅動程序,我用直接往lpt1寫的方法打印,如果打印機聯接正常, 打印的數據會正常輸出,但是當打印機未聯機或打印機沒開,程序打印時就會死機,只能按Ctrl+Alt+Del強行終止 。有什么辦法可以判斷打印機狀態,或是如何設置一個timeout時間來終止 打印 ?

    方法如下:

        bool LptPrint(char prtdata[],int prtlen,int timeout)
        {
         HANDLE h;
         DWORD n;
         COMMTIMEOUTS t;
         bool result;
         h = CreateFile("lpt1", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
         if (h == INVALID_HANDLE_VALUE){
         AfxMessageBox("Can not open lpt1");
         return false;
         }
         t.ReadIntervalTimeout = 0;
         t.ReadTotalTimeoutMultiplier = 0;
         t.ReadTotalTimeoutConstant = 0;
         t.WriteTotalTimeoutMultiplier = timeout * 1000 / prtlen;
         t.WriteTotalTimeoutConstant = 0;
         if (!SetCommTimeouts(h,&t)){
         AfxMessageBox("SetCommTimeout error");
         return false;
         }
         result = true;
         if (!WriteFile(h,prtdata,prtlen,&n,NULL)){
         AfxMessageBox("Print error");
         result = false;
         }
         CloseHandle(h);
         return result;
        } 

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>