Microsoft MVP성태의 닷넷 이야기
글쓴 사람
김솔지
홈페이지
첨부 파일
 

안녕하세요
c++로 개발하는데 계속 해결이 안되고 있어서 이렇게 문의드립니다.

먼저, 질문은 '파일을 프린트할 때, 파일명을 가져올 수 있는 방법' 입니다.

예를 들어, 오피스 워드 파일을 프린트로 인쇄합니다. 그러면 인쇄관리자에 'Microsoft-Word_테스트문서.docx'와 같이 보이게 됩니다.
제가 얻고 싶은건, 앞에 그냥 붙어버리는 Microsoft-Word를 제거한 순수한 제 문서파일명인 '테스트문서.docx'입니다.

기존소스가 프린터할때 윈도우에서 기본적으로 제공하는 GDI32.DLL로 StartDoc(HDC hdc,CONST DOCINFOW* lpdi)함수를 사용해서 파일에 대한 정보를 가져오고 있습니다.
프린트 하면 바로 이 함수를 타게 되며, 이때 이미 lpdi->lpszDocName에 'Microsoft-Word_테스트문서.docx'가 들어오는 상태입니다.

제가 리서치해본 결과, 스풀러를 통해서 파일명을 가져오도록 하는 방법에 대해서는 스풀러 자체는 원본 소스 파일 또는 해당 파일의 위치를 알지 못해서, DOCINFOW의 파일명을 가져오는 방법만 나와있었습니다.
그리고 프린트 시, 파일명을 가져오는 부분에 대해서 저번주부터 계속해서 리서치를 하였으나 따로 순수 파일명만 가져오는 부분에 대해서 알 수 있는 방법을 찾지 못하였습니다.
또한, Print Job log 같은 검색어를 통해서 프린트 시, 순수 파일명을 로깅할 수 있다면 파일명을 얻어올 수 있으니, 저렇게도 리서치를 검토를 계속 해보았으나 따로 답을 얻지 못하여 너무 막막한 상태입니다.

따라서, StartDoc함수를 사용하지 않고, 프린트할 때, 순수한 파일명만 가져오는 방법에 대해서 답변 및 조언 등등에 대해서 부탁드립니다.
감사합니다.











[최초 등록일: ]
[최종 수정일: 12/21/2016]


비밀번호

댓글 작성자
 



2016-12-21 09시15분
글쎄요. 이건 저도 모르겠습니다. 사실 프린트 작업이 언제나 "파일"과 연관된 것은 아니므로 그것이 "파일명"과 연관되지 않았다는 것은 바람직하다고 보입니다. 따라서, 프린팅 작업에 파일명이 안 보이는 것 역시 당연할 테고요.

애당초 StartDoc에서 보내주지 않는 정보라면 알아낼 길이 없는 것이 맞습니다.
정성태

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5885guest4/11/20233052c#으로 드림위버같은 거 만들어볼려는데요 [6]
5884궁금이4/11/20232925부모 클래스에서 예외 발생시 힙 영역에 할당 ? [2]
5883코딩초짜4/9/2023285510c언어 usleep 에 대해서 요 [2]
5882조은현4/7/20232858선생님 안녕하세요! wpf의 성능 개선에 대해서 질문드려요! [1]파일 다운로드1
5881guest4/6/20233009static method - <에러메시지 Extension method must be defined in a non-generic static class> [4]
5880유비4/4/20232883WPF DataGrid CollectionView, IEditableCollectionView 관련 문의 [1]
5879guest4/4/20233110Async method의 에러 표시 [3]
5878guest4/3/20233189C#으로 CMOS 설정 변경가능한지요? [4]
5875guest4/2/20233607성태님 책을 완독 하고 Static [7]
5874민성4/1/20233001안녕하세요 질문 하나만 드릴깨요~ [1]
5873guest3/31/20233270제어판에서 삭제불가 MS Edge ---> 레지스트리 편집기에서도 안보임 [6]파일 다운로드1
58723/31/20232919web config 파일 확인부탁드려요 [6]
58713/31/20232831web config 파일 수정이요 [2]파일 다운로드1
5870guest3/30/20233299.NET Core SDK 삭제 시 주의 사항 [4]파일 다운로드1
5869guest3/30/20233520Dictionary의 Update 그리고 Foreach [7]
5868guest3/29/20232991Speech Recognition과 Form1 그리고 정확도 [4]파일 다운로드1
5866월급쟁이3/28/20233085cmake 크로스 컴파일 관련하여 질문이 있습니다 [1]
5865guest3/28/20232972Github Copilot과 코딩실력 향상? [1]
5864guest3/27/20233389System.NullReferenceException - 개체참조가 개체의 인스턴스... [6]파일 다운로드1
5863guest3/24/20233524이벤트 핸들러 사라짐 현상 - Button [4]
5862guest3/21/20233604세계최초 hts와 싱글스레드 [8]
5861다크파이썬3/21/20233751WPF를 사용하려고 하려고 도서 문의합니다. [2]
5860guest3/21/20233037인텔코어 i5 CPU와 스레드 [4]
5859guest3/21/20232871개발 일지 어떻게 관리하시나요? 이런 프로그램 없나요? [3]
5858김태원3/18/20232939안녕하세요! [5]
5857guest3/17/20233014귀도 반 로썸을 보고 [4]
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...