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
[65144] Re:(추측성 답변)Re:USB TO Serial 포트 연결/해제 윈도우 메시지 문의
초보남 [] 1935 읽음    2011-09-09 15:29
여기 저기 사이트 뒤지니 아래와 같은 방법으로 등록하면 된답니다.
그러나 소스에 어떻게 추가하여 할지 모르겠네요
혹 경험있으신 분들 advice좀 ... 샘플소스면 더할나위없이 좋습니다.~~

/////
static GUID GUID_DEVINTERFACE_USB_DEVICE =
{ 0x745A17A0, 0x74D3, 0x11D0, { 0xB6, 0xFE, 0x00, 0xA0, 0xC9, 0x0F, 0x57, 0xDA } };

DEV_BROADCAST_DEVICEINTERFACE deviceFilter;
HDEVNOTIFY m_hDeviceNotify;
ZeroMemory(&deviceFilter, sizeof(deviceFilter));
deviceFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
deviceFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
deviceFilter.dbcc_reserved = 0;
deviceFilter.dbcc_classguid = GUID_DEVINTERFACE_USB_DEVICE;
deviceFilter.dbcc_name[0] = 0;

m_hDeviceNotify = RegisterDeviceNotification(m_hWnd, &deviceFilter,DEVICE_NOTIFY_WINDOW_HANDLE);

////
happymin 님이 쓰신 글 :
: 해보지는 않았지만 다른 장치들이 체크 되는건 아닐까요?
:
:    DBT_DEVTYP_OEM              = $00000000;  // oem-defined device type
:   DBT_DEVTYP_DEVNODE          = $00000001;  // devnode number
:   DBT_DEVTYP_VOLUME           = $00000002;  // logical volume
:   DBT_DEVTYP_PORT             = $00000003;  // serial, parallel
:   DBT_DEVTYP_NET              = $00000004;  // network resource
:   DBT_DEVTYP_DEVICEINTERFACE  = $00000005;  // device interface class
:   DBT_DEVTYP_HANDLE           = $00000006;  // file system handle
:
: 초보남 님이 쓰신 글 :
: : 안녕하세요
: : 동작 중에 케이블이 빠질경우 아래와 같은 윈도우 메시지를 이용하여 comport를 제어할려 합니다.
: : 그런데 케이블이 빠지거냐 연결될 경우 Message.WParam가 항상 0x07되네요 일단은 이벤트가 발생시
: : 무조건 comport close되도록 아래와 소스와 같이 작업하였습니다.
: : 
: : 여기서 문제가 발생되었는데 정상 통신 동작중에서 이벤트가 가끔씩 발생되어 이벤트가
: : 발생(Message.WParam=> 0x07)되어 comport를 close하는 것입니다. 여기저기 아무리 찾아봐도 해결점이
: : 안보이네요
: :
: : /////////////////////////////////////////////////////////////////////////////////
: :  void __fastcall TForm1::OnMessages(Messages::TMessage &Message)
: : {
: :     switch(Message.Msg)
: :     {
: :         case WM_DEVICECHANGE:
: :             switch(Message.WParam)
: :             {
: :                 case DBT_DEVICEARRIVAL :
: :                     // CheckPort();                                                                               break;
: :                 case DBT_DEVICEREMOVECOMPLETE :
: :                     // ComPort1->Close();                                                                break;
: :             }
: :             Serial1->Close();
: :             Connect->Click();
: :             Message.Result = true;
: :             break;
: :              default:
: :             TForm::WndProc(Message);
: :     }
: : }

+ -

관련 글 리스트
65140 USB TO Serial 포트 연결/해제 윈도우 메시지 문의 초보남 1837 2011/09/09
65141     (추측성 답변)Re:USB TO Serial 포트 연결/해제 윈도우 메시지 문의 happymin 1543 2011/09/09
65144         Re:(추측성 답변)Re:USB TO Serial 포트 연결/해제 윈도우 메시지 문의 초보남 1935 2011/09/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.