我正在編寫一個程序,它從文件讀取併發送到打印機進行打印。無法從LPT1獲取端口句柄
我將「HP Laser Jet 4」設置爲默認打印機,並在「HP Laser Jet 4」的打印機屬性中選中了「LPT1」。打印後臺處理程序也在運行(Windows 7)。
問題是hPort始終返回INVALID_HANDLE_VALUE
。
我沒有真正的打印機。這是個問題嗎?
#include "stdafx.h"
#include <windows.h>
int main()
{
HANDLE hPort = CreateFile(_T("LPT1:"), GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hPort != INVALID_HANDLE_VALUE) {
printf("success");
} else {
printf("%i", GetLastError());
}
return 0;
}
你的「filename.prn」文件的格式是什麼?它只是ASCII字符串或任何特定的格式? – Felix 2014-09-13 11:22:08
@Fei此代碼可用於向連接到任何端口類型(LPT,COM,USB,網絡...)的打印機發送任何文件(文本,二進制文件)。如果需要使用某些格式打印頁面(粗體..你需要提供命令PCL,ESC/P ...(換句話說,你必須執行打印機驅動程序的工作)。 – 2014-09-19 12:11:53