|
폼 생성(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);
}
로 수정했구요.
정상적으로 이벤트가 뜨네요.
수고하세요.
|