• 태그

SendMessage 1

프로세스, 스레드간의 상호 통신에 주의해야 될 점

어떤 프로그램을 만들어서 타겟 프로그램을 조종한 적이 있는데, 이게 심심찮게 먹통이 되는 것이다. 이것저것 테스트해보니 타겟프로그램에 먹통이 생긴 경우 조종 프로그램도 같이 먹통이 되는 것이었다. 조사해보니 SendMessage와 같이 타겟프로그램에서 결과값을 보내 줄 때까지 대기하는 동기적인 함수가 문제였다. 타겟 프로그램이 먹통이 되버리니 처리가 안되어 결과값을 보내지 못하고 따라서 조종 프로그램도 계속 멍청히 대기하는 것이다. 그래서 결과값이 필요 없는 행동의 경우 PostMessage를 사용하고 (PostMessage는 타겟 윈도우를 소유한 스레드의 메시지 큐에 메시지를 넣고 바로 리턴한다.) 결과값이 필요한 경우는 SendMessageTimeout API를 사용하는 게 좋다. 이 함수는 일정시간..

API 2011.07.21
이전
1
다음
더보기
프로필사진

  • 분류 (389)
    • C, C++ 문법 (28)
    • 자료구조, 알고리즘 (18)
    • API (73)
    • MFC (65)
    • COM, ATL (67)
    • ActiveX (18)
    • 웹, HTML (71)
    • Assembly (4)
    • Reversing (3)
    • Shell (7)
    • 커널, 드라이버 (7)
    • Library (0)
    • Network (0)
    • 비주얼베이직 (1)
    • 컴파일러 (0)
    • 파일구조 (0)
    • ASP (3)
    • AJAX (1)
    • XML (1)
    • 이미지 출력 및 조작 (1)
    • 잡다 (10)

Tag

Automation, 정렬, 자동화, 아파트먼트, 자료구조, mfc, ATL, 컴포넌트, API, sort, 컨트롤, 알고리즘, COM, STA, DCOM, iWeb, ActiveX, 스레드, 문자열, 컨테이너,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바