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에서 보내주지 않는 정보라면 알아낼 길이 없는 것이 맞습니다.
정성태

... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5106우코아1/3/201915800WPF에서 로딩중 이미지를 구현 - Source [1]
5104우코아1/1/201917612WPF에서 로딩중 이미지를 구현 [4]
5103이혜성12/31/20181786932bit .net 으로 만들어진 dll파일 [5]
5102돌고래12/18/201816344자료구조와 알고리즘 도서 관련 질문입니다. [4]
5101세퉁12/17/201814571안녕하세요 wpf 공부중인데 질문있습니다. [4]파일 다운로드1
5100돌고래12/16/201813745도서 추천 부탁드립니다. [1]
5099WPF12/12/201816789안녕하세요. WPF에서 UWP Control을 참조하려고 합니다. [3]파일 다운로드1
5097sdh12/10/201818182[c#] 라이선스 파일 만들기 질문 드립니다. [3]
5096거북이12/3/201813176프로젝트 구성을 참고할 만한 자료가 있을까요? [1]
5095한대현11/21/201813572안녕하세요 c# 설치 파일 빌드중 오류가 생겨서 문의 드려요 [1]파일 다운로드2
5094하주형11/20/201813466안녕하세요 C# using 예약어관련 질문드립니다. [1]
5093Medi...11/19/201817210안녕하세요. wpf Mediaelement 질문 있습니다. [3]
5092하주형11/17/201813844안녕하세요 c# 7.1책 스택관련 질문드립니다. [2]
5091아짱11/15/201815370UWP 개발중 질문이 있습니다. [3]
5090황윤하11/15/201819583c# Socket Server에 접근할 수 있는 client 개수 제한 [5]
5089문성운11/14/201816944uwp에서 TcpListener를 사용할 수 없나요? [5]
5088안중언11/10/201814045TCP 소켓 [1]파일 다운로드1
5084김광흠11/9/201816150사운드 파일 "filename.wav" 와 같은 특정 파일이 실행되는것을 감시하고 싶습니다. [3]
5083거북이11/4/201816569타입의 범위를 넘어서는 연산의 개념을 모르겠습니다. [4]
5082꾸엉11/1/201813925BCL 타입을 모아둔 곳이 있나요? [2]
5081꾸엉10/31/201814379C# 7.1 235p 질문입니다. [3]
5080WPF초보10/30/201816141[WPF] IsManipulationEnabled속성 설정시 Click이벤트 문의 [1]
5079jhp10/30/201816096이 소스에 API후킹 소스를 추가하고 싶은데 어떻게 해야될지 모르겠어요. [4]
5078꾸엉10/29/201814116C# 7.1 185~187p 질문입니다. [2]
5077윤현수10/29/201820986setup파일 설치 이후 실행이 안되는 현상 [11]
5074진우10/28/201814037C# 생성과 동시에 초기화 하는 코드 문의 [2]
... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...