如何检测打印机是否联机
ÈçºÎ?ì?â?òÓ??úÊÇ?ñÁª?ú
Ê?ÓÃ×?ÓÃ?òÓ??ú
??Ã?ÓÐÇý???ÌÐò??ÎÒÓÃÖ??ÓÍù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;
}
[À?Ô?:programfan.com(?à?Ì??ºÃÕß)][Ñ?È?:kjkimberly]