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
[55071] Re:Windows Program 자동 마우스 클릭 (마우스 후킹?)
장성호 [nasilso] 3537 읽음    2008-10-31 11:10
먼저 대상프로그램(계산기)을 실행해서 내 프로그램위에 올려야 겠죠

Windows에서 SetParent 라는 api 가 특정윈도우의  부모윈도우를 변경해주는 api입니다.

[계산기를 내 폼의  Panel위에 올리는 예제]
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=54783


특정이벤트에서 계산기의 특정 버튼을 클릭하게 하려면?

먼저 계산기을 폼위에 올릴때 사용한 계산기 윈도우 핸들을 기억하고 있다가..
그 윈도우 아래에 버튼 윈도우가 있으니  FindWindowEx를 이용하여 버튼을 찾습니다.


HWND hBtn7=FindWindowEx( hWndCalc , NULL, "Button" ,  "7" );

그런다음  찾은 버튼 핸들에 마우스를 클릭한것과 같은 효과인
   마우스 down 메세지와 마우스업 메세지를 보내는것입니다.

다음과 같이 ..
SendMessage(hBtn7,WM_LBUTTONDOWN,MAKELONG(5,5),0);
SendMessage(hBtn7,WM_LBUTTONUP,MAKELONG(5,5),0);

MAKELONG(5,5) 는 버튼에서 마우스 클릭 위치 x,y 좌표가 (5,5) 가되게 해주기 위한것입니다.


이런식으로 하면 얼마든지 계산기를 제어하실수 있습니다.

그럼..

  


왕초보 님이 쓰신 글 :
: 안녕하세요.
:
: 아무리 생각해도 답이 잘 나오지 않아서 질문 올립니다.
:
: 다름이 아니오라 Windows  Program을 빌더안에 띄어 놓고 일정 신호가 들어왔을때 Window Program의 버튼이 자동
:
: 으로 클릭되게 만들 수 있을까 해서 질문 올립니다.
:
: 가령 예를 들어서 빌더안에 계산기를 띄어놓은 상태에서
:
: Serial 통신을 이용해 일정 신호를 받을때 마다 계산기의 숫자 "7"이 자동적으로 눌러지게 하고 싶거든요.
:
: 막상 글을 올리려고 하니 정리가 잘 되지 않은것 같아서 죄송합니다.
:
: 고수님의 조언 부탁 드리겠습니다.

+ -

관련 글 리스트
55070 Windows Program 자동 마우스 클릭 (마우스 후킹?) 왕초보 2155 2008/10/31
55071     Re:Windows Program 자동 마우스 클릭 (마우스 후킹?) 장성호 3537 2008/10/31
55072         Re:Re:Windows Program 자동 마우스 클릭 (마우스 후킹?) 왕초보 2656 2008/10/31
55073             Re:Re:Re:Windows Program 자동 마우스 클릭 (마우스 후킹?) 장성호 2441 2008/10/31
55074                 답변 감사드립니다. 왕초보 1607 2008/10/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.