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
[28242] Re:Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르는 법??
라모드 [] 906 읽음    2003-12-17 17:40
아주 도움이 되었습니다. 그런데 한가지 더 궁금한게 있는데요..
밑에 소스에서 Messagebox 의 Header를 가져오려고 할 결우
char *Temp;
GetWindowText(hdHandle,Temp,256);
이런식으로 가져오는 것 까지는 했는데
Header 말고 내용을 가져 오려고 할려면 어떻게 해야 할까요?
밑에 소스에서라면 "Update Record?" 요게 되겠죠?


//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{

Timer1->Interval = 10;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

MessageDlg("Update Record?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0);

}
//---------------------------------------------------------------------------


void __fastcall TForm1::Timer1Timer(TObject *Sender)
{

HWND              hdHandle = FindWindow(NULL, "Confirm"), hdButtonHandle;


if(hdHandle) {
   SetWindowText(hdHandle, "확인");

   hdButtonHandle = FindWindowEx(hdHandle, NULL, NULL, "&Yes");
   if(hdButtonHandle) SetWindowText(hdButtonHandle, "예");

   hdButtonHandle = FindWindowEx(hdHandle, NULL, NULL, "&No");
   if(hdButtonHandle) SetWindowText(hdButtonHandle, "아니오");
}

}

유영인  Cuperido 님이 쓰신 글 :
: 아주아주 쉽게 하는 방법은..
:
: FindWindow로 찾으신 다음,
: 메시지나 마우스 클릭 이벤트를 보내는 방법입니다.
:
: http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=28089
: 글이 도움이 되실지 모르겠습니다.
:
:
: cuperido
:
: 라모드 님이 쓰신 글 :
: : 너무 초보적인 질문이라 부끄럽네요.. -.-;
: : 다른 Application이 돌아가며 발생하는 Message box의 내용을 읽어드려 그에 해당하는 결과(yes 또는 no 키를 누름)를 대신 응답하려고 합니다. 어떻게 해야할까요? 계시판에서 막 찾아보니 Message box 가 뜰때 발생하는 messaege를 잡아서 한다고들 하는데 전혀 Message 관련해서는 경험이 없어서 어디서 부터 손대야 할지 모르겠습니다. 
: : 또하나 키를 대신 누르는 것은 keybd_event('a',0,0,0);이렇게 하면 될것같은데.. 이건 대상이 활성화되어 있는 상태에서만 가능한것으로 알고 있는데 활성하는 다른프로그램에서 어떤방식으로 해당프로그램을 활성화시킬 수 있는지도 알고 싶습니다. 고수님들의 한마디 부탁드립니다.
: :

+ -

관련 글 리스트
28214 다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르는 법?? 라모드 809 2003/12/16
28219     Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르는 법?? 유영인 Cuperido 1028 2003/12/16
28242         Re:Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르는 법?? 라모드 906 2003/12/17
28244             Re:Re:Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르는 법? 유영인 Cuperido 850 2003/12/17
28259                 Re:Re:Re:Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르는 라모드 878 2003/12/18
28261                     Re:Re:Re:Re:Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 누르 유영인 Cuperido 1027 2003/12/18
28295                         Re:Re:Re:Re:Re:Re:다른 Application 에서 발생하는 Message box 내용을 읽어드려 Yes/No 키를 대신 라모드 1095 2003/12/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.