디바이스에서 인쇄 작업을 프로그래밍해야하는 프로젝트에서 작업 중입니다. WIN CE 6.0이 있습니다. Visual Studio 2005 (MFC) 사용하고 있습니다. 프린터는 모든 PCL 호환 프린터가 될 수 있습니다.레지스트리에서 DEVMODE 구조 읽기
현재 프린터 DC를 얻으려면 CreateDC()를 사용하고 있습니다.
hPrinterDC = CreateDC(L"PCL.DLL", L"Any Name", L"LPT1", NULL);
이 호출을 사용하여 성공적으로 인쇄 할 수 있습니다. 여기서 DEVMODE 특정 입력 매개 변수를 NULL로 전달합니다. 그러나 이러한 인쇄 작업을보다 세밀하게 제어하기 위해 CreateVM()에 DEVMODE 정보를 전달해야합니다.
그 때문에 레지스트리에서 DEVMODE 특정 정보를 생성하기 위해 위에서 지정한대로 CreateDC()를 호출 할 계획입니다. 그런 다음이 DEVMODE 데이터를 레지스트리에서 로컬 변수로 읽고이 변수의 필수 필드 만 수정 한 다음이 변수를 CreateDC()에 전달하여 실제 인쇄 작업을 수행 할 프린터 DC를 가져올 수 있습니다.
DEVMODE의 특정 필드에 대한 충분한 정보가 없으므로 DEVMODE 구조체를 직접 초기화하는 것을 피합니다. dmDriverExtra.
레지스트리에서 DEVMODE와 같은 구조체를 안전하게 읽는 방법을 알아야합니까? 상대적인 예는 정말 도움이 될 것입니다.
친절 감사, 아프 탑
직접적인 DEVMODE 초기화 관련 정보도 큰 도움이 될 수 있습니다. 필자는 특히 dmDriverExtra 필드 (및 필요한 경우 DEVMODE를 따르는 드라이버 관련 데이터)에 관심이 있습니다. – Aftab