통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이
· LiveSeminar  · LiveConference
Visual C++ 포럼마을 입니다.
  마을등급 Visual C++   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 나성훈 주민 34000 since 2006-12-29
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
개인게시판
마을 게시판
등록된 마을 게시판이
없습니다.
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리

 강좌&팁
 일정시간이 지나면 메시지 박스 종료하기...  | VC++ 일반 2010-11-26 오후 5:21:06
 rjm9814  rjm9814님께 메시지 보내기rjm9814님을 내 주소록에 추가합니다.rjm9814님의 개인게시판 가기 번호: 8514 추천:1  / 읽음:6,040

팁이 될지 모르겠네요. 모르는분들을 위한 팁이에요...양해 바랍니다. ^^

 

어떤분이 질문을 올리셨기에...

 

질문의 내용은 A프로그램에서 B프로그램 실행후 B프로그램이 끝날때까지 A프로그램은 계속 대기

 

B프로그램에서 메시지박스가 떠 있기때문에 무한정 기다려야 하는 문제가 있을 경우 사용하면 될것 같습니다.

 

또는 그냥 시간되면 메시지 박스를 종료하고 싶을때 사용하면 될것 같습니다.

 

사용 방법은 SetTime를 이용합니다.

 

    SetTimer(101, 1000, NULL);
    if(AfxMessageBox("박스다..") == IDOK)
    {
           // AfxMessageBox("OK");
    }

 

 

OnTimer() 안에서 사용하시면 됩니다.

 

    HWND wndDlg = ::GetLastActivePopup(m_hWnd);
    if(wndDlg && wndDlg != m_hWnd)
    {
            char buffer[256] = {0};
            ::GetClassName(wndDlg, buffer, 256);
            if(CString("#32770") == buffer) //메시지 박스는 분명히 다이얼로그이며 클래스명이 #32770
            {
                    ::EndDialog(wndDlg, IDOK);
            }
    }

[코멘트] 좋음
2010-11-26 17:32
 dalgoo  dalgoo님께 메시지 보내기dalgoo님을 내 주소록에 추가합니다.dalgoo님의 개인게시판 가기 
"저런 클래스명은 많을텐데 중복되면 어떻게 하죠?" 라고 의문을 잠시 가졌다가...
GetLastActivePopup 요거 보고, 패스... ㅋㅋ
저장 취소
[코멘트] 좋음
2010-11-26 17:36
 rjm9814  rjm9814님께 메시지 보내기rjm9814님을 내 주소록에 추가합니다.rjm9814님의 개인게시판 가기 
휴 ==3
패스라니 다행이네요..ㅠㅠ
이런걸 올려야 되나 말아야 되나 항상 고민하고 올리는게 스트레스일수도 있네요..ㅠㅠ
저장 취소
[코멘트] 좋음
2010-11-27 12:06
 win3200  win3200님께 메시지 보내기win3200님을 내 주소록에 추가합니다.win3200님의 개인게시판 가기 
GetLastActivePopup() 호오... 괜찮겠네
저장 취소
[코멘트] 좋음
2010-11-29 12:03
 sun9109  sun9109님께 메시지 보내기sun9109님을 내 주소록에 추가합니다.sun9109님의 개인게시판 가기 
메세지박스 다이얼로그를 만들어 쓰곤했었는데...간단하게 쓸수있는 유용한 팁이네요..ㅎㅎ
저장 취소
[코멘트] 좋음
2010-12-01 00:23
 bustertan  bustertan님께 메시지 보내기bustertan님을 내 주소록에 추가합니다.bustertan님의 개인게시판 가기 
궁금했던건데 감사요
저장 취소
[코멘트] 좋음
2010-12-01 13:58
 unitime  unitime님께 메시지 보내기unitime님을 내 주소록에 추가합니다.unitime님의 개인게시판 가기 
저도 예전에 다이알로그를 만들어 썼었는데 이거 유용하게 쓰겠네요 ㄳ

GetLastActivePopup 이런 API 있는것도 몰랐네요 ^^;
저장 취소
[코멘트] 좋음
2010-12-03 17:19
 jeromee  jeromee님께 메시지 보내기jeromee님을 내 주소록에 추가합니다.jeromee님의 개인게시판 가기 
나같음 일반 타이머 말고

CreateWaitableTimer쓰겠음-_-;
저장 취소
[코멘트] 좋음
2010-12-03 18:00
 rjm9814  rjm9814님께 메시지 보내기rjm9814님을 내 주소록에 추가합니다.rjm9814님의 개인게시판 가기 
//이제롬
저도 잘 모르니 일반적으로 알려진 SetTimer을 썼습니다.
CreateWaitableTimer 왜 써야 하는지를 설명을 해주시는게 저 같은 초보나 다른분들한테도 도움이 되지 않을까요?
뜨금없이 CreateWaitableTimer 쓰겠음 하지마시고...
저장 취소
[코멘트] 좋음
2010-12-08 08:36
 s911310  s911310님께 메시지 보내기s911310님을 내 주소록에 추가합니다.s911310님의 개인게시판 가기 
CreateWaitableTimer() 아래에 예제가 있네요.

http://alphagk.springnote.com/pages/1858054.xhtml
저장 취소
[코멘트] 좋음
2011-02-24 14:30
 romair  romair님께 메시지 보내기romair님을 내 주소록에 추가합니다.romair님의 개인게시판 가기 
아 이런 것도 있군요; 전 그냥 타이머로 시간 지나면 종료되게 했었는데;
저장 취소
[코멘트] 좋음
2011-03-10 10:14
 kimjw0820  kimjw0820님께 메시지 보내기kimjw0820님을 내 주소록에 추가합니다.kimjw0820님의 개인게시판 가기 
우움 감사합니다 'ㅡ'!!
저장 취소
코멘트쓰기
  좋음   놀람   궁금   화남   슬픔   최고   침묵   시무룩   부끄럼   난감
* 코멘트는 500자 이내(띄어쓰기 포함)로 적어주세요.
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2017-서울구로-0055호 / 대표: 홍영준, 서민호
08390, 서울시 구로구 디지털로32길 30, 1211호 / TEL. 02_6719_6200 / FAX. 02-6499-1910
Copyright ⓒ (주) 데브피아. All rights reserved.