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
[61946] Re:Re:Re:Re:Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다....
장성호 [nasilso] 1433 읽음    2010-07-17 02:32
PostMessage는 그냥 win32 API입니다.

동작원리는 해당윈도우가 있는 쓰레드의 시스템메세지 큐에 메세지를 넣어주는것 뿐입니다.

콘솔프로그램이라면 윈도우가 없으니...

그냥 화면에 안보이게 윈도우핸들 하나 생성해서
그 윈도우로 메세지를 주고 받을수는 있습니다면..

그럴려면..
메세지 펌프를 구현하셔야 합니다.

- system메세지큐에서 메세지를 가져와서(GetMesssage or PeekMessage)
- 변환후
- Dispatch 하는 과정을..

위과정을 프로그램 종료할때까지 계속반복하는게..
일반 윈도우어플입니다.

...



질문 님이 쓰신 글 :
: 네 콘솔 환경에서 다 작업을 합니다....^^;;
: 멀티 스레드 환경에서 작업을 할꺼구요
: PostMessage를 제가 직접 구현을 해보고 싶은데 윈도우 프로그래밍에서 제공해주는
: PostMessage의 내부 구조를 알수있다면 그걸 참고해서 콘솔환경에 맞게
: 제가 제작을 해보고 싶은데... 어디서도 내부 구조를 알수있는곳이 없네요..ㅠㅜ
:
:
:
: 장성호 님이 쓰신 글 :
: : 메세지를 보내는 놈뿐 아니라
: : 메세지를 받고자하는 놈도 콘솔프로그램인가보네요
: :
: : 그러면 window핸들이 없으니..
: : SendMessage/PostMessage가 안됩니다.
: :
: : 다른 IPC방법들을 사용해야할것입니다.
: :
: : Pipe,Mail-Slot ,공유메모리,socket,file.... 등등..
: :
: : 그럼..
: :
: : 질문 님이 쓰신 글 :
: : : 제가 콘솔환경에서 PostMessage()를 쓰려고 했는데 안되던데요
: : : 윈도우 PostMessage()는  hwnd값과 메세지 아이디, 데이터를 전송하는데
: : : 콘솔에선 hwnd를 어떻게 넘겨야 되는건가요??
: : : 그리고 윈도우에서는 메세지맵으로 메세지아이디와 함수를 연결시켜줘야 되는데
: : : 콘솔환경은 메세지 맵을 쓸수가 없는데 어떻게 함수랑 연결 시켜줘야 되나요??
: : :
: : : 윈도우 프로그래밍에서 제공해주는 PostMessage()함수의 내부 구조를 알수 있는 방법이 있나요??
: : : 저는 100% 콘솔 환경에서 작업을 하거든요
: : : 윈도우 프로그래밍에서 제공해주는 함수는 가능하면 사용을 자제하고 작업을 해보려고 합니다..^^;;  
: : :
: : :
: : :
: : : 장성호 님이 쓰신 글 :
: : : : PostMessage를 꼭 쓰시고자 하시면
: : : : 그냥 쓰시면 됩니다.
: : : :
: : : : PostMessage는 비동기 메세지라는것
: : : : WM_COPYDATA같은것을 이용해 많은량의 data를 전송하지는 못하죠
: : : : 그냥 SendMessage 쓰는게 나을듯..
: : : :
: : : : ------------------------------------------------------
: : : : 콘솔환경에서 새로 실행하는 프로그램이 똑같은 콘솔프로그램인가요?
: : : : Window어플인가요?
: : : :
: : : :
: : : :
: : : : 질문 님이 쓰신 글 :
: : : : : 답변달아주셔 감사합니다...
: : : : : 동기화 작업을 콘솔환경에서 하려고 하는데요..
: : : : : postmessage()를 콘솔 환경에서 구현하려면 어려운가요??
: : : : : 데이터 전송도 같이 해야되는데 파이프를 쓰는것 말고...방법이 없나요??
: : : : : 배우는 단계라...마니 지식이 부족합니다...죄송합니다...
: : : : :
: : : : :
: : : : : 장성호 님이 쓰신 글 :
: : : : : : process간의 통신을 IPC(Inter-Process-Communication)이라고 하는데..
: : : : : :
: : : : : : 그런경우엔 대게 파이프(Pipe)를 많이씁니다.
: : : : : :
: : : : : : 그냥 프로그램에서는 Standard Input / output으로 입력을 받고 출력하면되구요
: : : : : :
: : : : : : 다음링크를 참조하세요
: : : : : : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=173
: : : : : :
: : : : : : 그럼..
: : : : : :
: : : : : :
: : : : : : 질문 님이 쓰신 글 :
: : : : : : : 콘솔 메인 함수에서요 다른 실행파일을 실행 시킨다음에 기다렸다 결과를 받을수있는방법이 있을까요??
: : : : : : :
: : : : : : : 제가 찾은방법은 윈도우에서 제공해주는 PostMessage와 같은 기능을 하는 함수를 구현하고 싶은데...
: : : : : : :
: : : : : : : 혹시 이와 관련하여 조언부탁드립니다..

+ -

관련 글 리스트
61939 콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 질문 987 2010/07/17
61940     Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 장성호 1045 2010/07/17
61941         Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 질문 1010 2010/07/17
61942             Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 장성호 1052 2010/07/17
61943                 Re:Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 질문 1019 2010/07/17
61944                     Re:Re:Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 장성호 1006 2010/07/17
61945                         Re:Re:Re:Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 질문 1053 2010/07/17
61946                             Re:Re:Re:Re:Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 장성호 1433 2010/07/17
61947                                 Re:Re:Re:Re:Re:Re:Re:Re:콘솔환경에서 함수 제작과 관련하여 조언 부탁드립니다.... 질문 1282 2010/07/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.