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)
5857guest3/17/20233016귀도 반 로썸을 보고 [4]
5856guest3/17/20233233Form1_FormClosing에 closing time을 Sqlite 저장하는 법? [6]파일 다운로드1
5855욜로3/17/20232795C# 메타데이터에서 불러오는 참조 정의가 안됨 [1]
5854민성3/16/20232980안녕하세요 asp.net mvc using문 관련하여 [1]
5853pa3/16/20233247오피스 2016 업데이트 후 파일 출력 불가 [1]
5852guest3/16/20232936입력 foreach 검색/출력 foreach [3]
5851guest3/15/20233256foreach내 list변경 [10]
5850독서가3/14/20232922C#에서 동적dll 사용시 문의입니다. [4]파일 다운로드1
5849guest3/9/20232921C# wpf로 Web에서 구동되는 hts가능한가요? (노트북없고 스마트폰 없음) [4]
5848민성3/9/20232828도움 요청드립니다. [2]파일 다운로드1
5847guest3/7/20232990SQlike Like 구문 - 1시간째 인데 안되네요 [13]
5846Huuu...3/7/20232654웹 다운로드에 대한 고찰 [5]파일 다운로드1
5845guest3/7/20232677C# Split함수의 불친절함 [1]
5844까망이3/7/20232808c# 무료 디컴파일러는 어떤게 좋습니까? [1]
5843guest3/7/20232771판매 후 dll 등 에러 [5]
5842kr13/6/20232809publish 할 때 분석기 관련 dll 제외 [5]
5841guest3/3/20232999프로그램 판매 시 - Upgrade 버전 판매 [2]
5840joe3/2/20233101C# 클래스 라이브러리 수정 -> C++에서 참조시 함수 목록 갱신되지 않음. [4]파일 다운로드1
5839guest3/2/20233736윈도우 서비스 프로그램 - FORM 애플리케이션 감시서비스 [8]
5838랄랄라3/1/20232933event 사용 시 두 표현의 차이점이 있을까요? [1]
5837감사합니...2/28/20233094오라클 DB서버 접속관련 문의 드립니다.(Load Balancing, HA Events) [2]
5836박지범2/27/20232879static instance의 initialize 순서가 보장되나요? [6]
5835주민호2/25/20235715Windows Software Development Kit - 최신버전 1개 남기고 다 삭제하면 안되는지요? [10]파일 다운로드1
5834guest2/24/20232930Python IDE - 비주얼스튜디오 [3]
5833무지남2/23/20232637Async 메서드 그리고 나서 Bool 메서드 [5]
5832김지우2/21/20232944event와 delegate의 차이 , event를 써야하는 이유 [1]
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...