다음을 통해 공유


XPS 문서 작성기에 인쇄하는 응용 프로그램 뒤에 다른 이름으로 저장 대화 상자가 표시됩니다.

이 문서는 XPS 문서 기록기 프린터로 인쇄되는 앱 뒤에 다른 이름으로 저장 대화 상자가 숨겨져 있고 애플리케이션의 응답이 중지되는 문제를 해결하는 데 도움이 됩니다.

원래 제품 버전: XPS 문서 작성기
원래 KB 번호: 2567869

증상

다음 시나리오를 살펴 보십시오.

  • 64비트 버전의 Windows 7에서 32비트 애플리케이션을 실행합니다.
  • 응용 프로그램에서 MXDW(Microsoft XPS 문서 작성기) 프린터로 인쇄합니다. 이 시나리오에서는 애플리케이션 뒤에 다른 이름으로 저장 대화 상자가 표시됩니다.

또한 다음과 같은 증상이 발생할 수 있습니다.

  • 파일 이름을 입력하거나 인쇄 작업을 취소할 때까지 애플리케이션이 응답을 중지(중단)하는 것 같습니다.
  • 다른 이름으로 저장 대화 상자가 닫히면 인쇄 중인 애플리케이션이 포그라운드(활성) 애플리케이션이 되지 않습니다.

참고 항목

드라이버에 다른 모달 대화 상자나 다른 모달 대화 상자가 표시되는 다른 프린터로 인쇄할 때도 이 문제가 발생할 수 있습니다. Adobe PDF 프린터의 프린터 드라이버는 이 유형의 드라이버입니다.

원인

프린터 드라이버는 인쇄 중인 프로세스에 로드되는 DLL(동적 연결 라이브러리)으로 구현됩니다. 프린터 드라이버는 64비트 버전의 Windows에서 64비트 DLL로 구현되고 32비트 버전의 Windows에서는 32비트 DLL로 구현됩니다.

32비트 프로세스는 64비트 DLL을 로드할 수 없습니다. 따라서 64비트 버전의 Windows는 Splwow64.exe 프로세스를 통해 32비트 프로세스에서 인쇄를 지원합니다. Splwow64.exe 64비트 프린터 드라이버를 로드할 수 있고 32비트 프로세스의 인쇄를 처리하는 64비트 프로세스입니다.

응용 프로그램에서 XPS 문서 기록기 프린터로 인쇄할 함수를 호출 StartDoc 하면 XPS 문서 기록기 프린터 드라이버에 다른 이름으로 저장 대화 상자가 표시되므로 사용자가 XPS 파일의 이름과 위치를 지정할 수 있습니다. 대화 상자의 소유자 창은 일반적으로 함수를 호출 StartDoc 하는 스레드의 활성 창이며 대화 상자가 활성 창에 나타납니다.

32비트 애플리케이션이 64비트 버전의 Windows에서 함수를 호출 StartDoc 하는 경우 Splwow64.exe 프로세스는 32비트 애플리케이션에 대한 XPS 문서 기록기 프린터 드라이버를 호출합니다. 이 시나리오에서는 Splwow64.exe 프로세스의 스레드에 활성 창이 없으므로 다른 이름으로 저장 대화 상자가 소유되지 않습니다. Splwow64.exe 프로세스에 포그라운드 창을 설정할 수 있는 권한이 없기 때문에 인쇄 중인 애플리케이션 뒤에 대화 상자가 나타날 수 있습니다. 또한 대화 상자가 소유되지 않으므로 대화 상자를 닫을 때 함수를 StartDoc 호출한 애플리케이션이 포그라운드 애플리케이션이 되지 않을 수 있습니다.

대화 상자가 StartDoc 해제될 때까지 호출이 반환되지 않으므로 애플리케이션이 응답을 중지하는 것처럼 보일 수 있습니다.

다른 이름으로 저장 대화 상자에는 Splwow64.exe 프로세스에서 만든 경우 Windows 탐색기 작업 표시줄에 고유한 단추가 있습니다. 대화 상자가 소유되지 않은 때문입니다. Splwow64.exe 프로세스에서 포그라운드 창을 설정할 수 없는 경우에도 작업 표시줄 단추가 깜박입니다.

해결 방법

이 문제를 해결하려면 작업 표시줄 단추를 통해 다른 이름으로 저장 대화 상자에 액세스할 수 있습니다. 또는 Alt+Tab을 눌러 포커스를 대화 상자로 전환할 수 있습니다.

자세한 정보

소프트웨어 개발자는 사용자가 XPS 문서 작성기 프린터 또는 Adobe PDF 프린터로 인쇄할 때 이러한 응용 프로그램을 검색하도록 하여 32비트 애플리케이션에서 이 문제를 방지할 수 있습니다. 그런 다음 애플리케이션은 함수를 호출할 때 구조체 멤버의 DOCINFO.lpszOutput 파일에 대한 전체 경로를 지정합니다 StartDoc . 프린터 드라이버는 사용자에게 파일에 대한 메시지를 표시하는 대신 지정된 파일을 사용합니다.

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.