C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[24486] Re:[질문]워드에서 인쇄할 때...
유영인.Chris [cuperido] 753 읽음    2003-02-26 12:06
네.. 타 프로그램의 API를 후킹하면 가능하지만 쉬운일은 아닐것 같습니다.
몇가지 걸림돌을 적어보면..

1. 타 프로그램을 디버그 모드로 실행을 해야하구.. 즉, 내 프로그램을 먼저 실행하고 그 워드 프로그램을 링크시킨 후, API 후킹을 해서 내가 만든 DLL 파일로 링크를 걸어야 하고요..

2. 그 워드 파일이 정확히 어떤 API를 쓰는지, 과연 API를 쓰는지, 아니면 자체적 인쇄루틴을 사용하는지 알 수 없으며..

3. 후킹을 하였다 하더라도.. 그 프로그램에서 사용하는 인자들을 정확히 인식을 할 수 있는지도 의문이고, 어떤방식으로 사용할지도 의문입니다. (일반적인 파라메터로는 인쇄에 관한 정보가 다 움직이지 않으니, 메모리에 저장하고 포인터로 움직이거나 파일등을 이용할 것이라는 추측입니다)

만약 굳이 하라면, 인쇄창을 뜨는 순간에, 그 창의 클래스를 잡아서 캡션이나 크기등을 추측해서 인쇄 창인지 알아내서 내가 만든 DLL로 바꾸어 치는 방법이 있겠지만, 워드의 EXE 를 다시 뿌리거나, DLL 파일을 항상 같이 보내고, 제가 만든 후킹 프로그램을 꼭 먼저 실행시켜야 한다는 단점이 있습니다. -- 허술하군요. -_-;;



김재철 님이 쓰신 글 :
: 안녕하세요?
:
: 윈도우 XP에서 BCB5쓰고 있습니다.
:
: 워드와 같은 윈도우 응용프로그램에서 인쇄할 때,
: 파일 메뉴에서 인쇄를 누르고, 프린터 선택하고 나서
: 인쇄 버튼을 누르면 다음 과정 진행 되기 전에
: 사용자로부터 암호와 같은 단순한 키 입력을 받고 싶어요
: 어떻게 하면 될까요?
: 후킹을 사용해야 하나요?
:
: 어떤 의견도 저에겐 큰 도움이 되겠습니다.
:

+ -

관련 글 리스트
24452 [질문]워드에서 인쇄할 때... 김재철 567 2003/02/24
24486     Re:[질문]워드에서 인쇄할 때... 유영인.Chris 753 2003/02/26
24494         감사합니다. 김재철 598 2003/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.