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
[53794] 자답
역삼골 [saonara] 1834 읽음    2008-06-27 11:07
폼 생성(Create) 이벤트에 아래와 같이 추가했습니다.

//PC/SC Devie WndProc Event Set
DEV_BROADCAST_DEVICEINTERFACE filter;
filter.dbcc_size = sizeof(filter);
filter.dbcc_devicetype = 0x00000005; // on the interface
filter.dbcc_classguid = SmartCardReaderGuid;
m_hInterfaceNotification = RegisterDeviceNotification(Handle, &filter, 0);


//---------------------------------------------------------------------------
//WndProc
//---------------------------------------------------------------------------
void __fastcall Tfpluginmain::WndProc(Messages::TMessage &Message)
{
    //Device Insert/Eject Event
    if (Message.Msg == WM_DEVICECHANGE)
    {
        //Device Insert
        if (Message.WParam == DBT_DEVICEREMOVECOMPLETE)
        {
                //Form show
                Show();
        }
        //Device Remove
        else if (Message.WParam == DBT_DEVICEARRIVAL)         
       {           
                //form Hide
                Hide();
        }
    }
    //Windows Message
    else TForm::WndProc(Message);
}

로 수정했구요.

정상적으로 이벤트가 뜨네요.
수고하세요.

+ -

관련 글 리스트
53791 WM_DEVICECHANGE 메시지 받을때 WParam 값이 무조건 7입니다.ㅠㅠ 역삼골 3182 2008/06/27
53794     자답 역삼골 1834 2008/06/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.