如下: BOOL PTKT_SendFiletoPrinter(LPCSTR pPrinterName, LPCSTR pFilePath){ if(pPrinterName == NULL || pFilePath == NULL) return FALSE; DWORD tFileSize = 0; DWORD tReadFileSize = 0; char * tBuf = NULL; HANDLE tPrinter = NULL; // open the file and read data from the file HANDLE tFile = CreateFile(pFilePath, GENERIC_READ, FILE_SHARE_READ, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL); if(tFile == INVALID_HANDLE_VALUE){ return FALSE; } tFileSize = GetFileSize(tFile,NULL); if(tFileSize == 0xFFFFFFFF){ CloseHandle(tFile); return FALSE; } tBuf = (char *) malloc(tFileSize); if(tBuf == NULL){ CloseHandle(tFile); return FALSE; } memset(tBuf, 0x0, tFileSize); if(!ReadFile(tFile,(LPVOID)tBuf,tFileSize,&tReadFileSize,NULL)){ CloseHandle(tFile); free(tBuf); return FALSE; } if(tFileSize != tReadF