2013-08-02 3 views
2

EnumForms을 통해 검색 할 수없는 양식이있는 프린터가 있습니다. EnumForms은 PrintServer의 양식 만 가져옵니다. DC_PAPERNAMES 매개 변수를 사용하여 DeviceCapabilities을 통해 설정해야하는 양식 (Super Long Paper)을 얻습니다. DeviceCapabilities에서 제공되는 용지 양식을 설정하는 방법은 무엇입니까?

나는이 작동하지 않습니다 그래서

wcscpy(pDevMode->dmFormName, L"Super Long Paper"); 
pDevMode->dmFields |= DM_FORMNAME; 
ResetDCW(hPrintDC, pDevMode); 

같은 형태를 설정했습니다.

pDevMode->dmPapersize를 통해 설정하거나 난 단지 DeviceCapabilities를 사용하여 나타 양식을 설정하는 방법 또 다른 옵션이 될 수있는이 특정 형태의 값을 얻을 수 있습니까?

올바른 방향으로 모든 조언을 부탁드립니다.

이것은 Windows XP에서 작동해야합니다.

편집 :

programm에 대화 상자가 표시되지 않아야합니다. 모든 것은 코드를 통해 설정됩니다.

답변

2

해결책을 찾았습니다. DeviceCapabilities 번에 3 번 전화해야합니다. DC_PAPERS 번으로 한 번, DC_PAPERNAMES 번으로 한 번, DC_PAPERSIZE 번으로 한 번 모든 호출은 프린터 지원 양식에 대한 이름, 크기 및 번호 (DevMode에서 설정)와 함께 배열을 제공합니다. 이것들을 사용하여 dmPaperSize, dmPaperLength and dmPaperWidth`의 DevMode의 속성을 설정할 수 있습니다.

관련 문제