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
[37988] mouse_event() 사용시 딜레이 문제
아르스 [] 1817 읽음    2004-11-11 19:08
버튼이 3개 있습니다

버튼1을 누르면
mouse_event()를 이용해서

버튼2를 자동으로 누르게되고 그 후에 버튼 3을 누르게 되는 프로그램을 만들고 있습니다
void __fastcall TFrm_Main::Btn_WriteClick(TObject *Sender)
{
    //버튼2로 이동한 후 누른다
     mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 26000, 21500, 0, 0);
     mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, 26000, 21500, 0, 0);
     mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 26000, 21500, 0, 0);

    //버튼3으로 이동한 후 누른다
     mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 26000, 21500, 0, 0);
     mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, 26000, 21500, 0, 0);
     mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 26000, 21500, 0, 0);
}

그런데 문제가
버튼2를 누르고 버튼 3을 눌러야 하는데
버튼2를 너무 번개같이(?) 누르고 3을 눌러서 그런지
버튼2가 눌러진 효과가 나지 않습니다.

::Sleep(3000) 을 버튼 2의
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 26000, 21500, 0, 0);
밑에 써줘도 마찬가지더군요
(::Sleep(3000)을 쓰면 상식적으로 버튼2 누르고 난후 3초 대기했다가 버튼3을 눌러야 되는데
동작은 버튼2 누르기 전에 3초 대기하더라구요...이부분도 이상합니다)

어떻게 하면 버튼 2를 정상적으로 누르고 버튼3을 누르게 할 수 있을까요??

+ -

관련 글 리스트
37988 mouse_event() 사용시 딜레이 문제 아르스 1817 2004/11/11
38019     Re:mouse_event() 사용시 딜레이 문제 유영인 Cuperido 2814 2004/11/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.