파일에서 읽고 프린터로 보내 인쇄 할 프로그램을 작성하고 있습니다.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
@Fei이 코드는 모든 포트 유형 (LPT, COM, USB, 네트워크 ...)에 연결된 프린터로 파일 (텍스트, 바이너리)을 보내는 데 사용할 수 있습니다. . 다른 크기, 그래픽) PCL, ESC/P 명령을 제공해야합니다. 즉, 프린터 드라이버의 작업을 수행해야합니다. –