|
김천재 님이 쓰신 글 :
: 볼랜드 c++ 빌더 6.0 을 씁니다.
:
: 제가 Device가 변할때마다 함수를 호출하려고
: BEGIN_MESSAGE_MAP
: MESSAGE_HANDLER(WM_DEVICECHANGE , TMessage, vGetDevModeCheck)
: END_MESSAGE_MAP(TForm)
:
: 이렇게 메시지를 이용해 함수를 호출합니다.
: 함수는
: void __fastcall vGetDevModeCheck(TMessage &Message);
:
: 이것이고요.
:
: 문제는 제가 인위적으로 함수를 호출을 못하겠습니다.
:
: vGetDevModeCheck(); 이러면 당연히 인자넣으라 그러고
: TMessage &Message;
: vGetDevModeCheck(&Message); 이러면 Message 를 초기화 하라고 그럽니다
:
: 근데 초기화하는 방법을 모르겠네요. NULL값 넣어도 안되고요..
: 도와주세요~
WM_DEVICECHANGE 관련하여 작업을 하시려면
C++Builder의 도움말 또는 MSDN에서 WM_DEVICECHANGE 설명을 보셔야 합니다.
거기에 자세하게 잘 나와있습니다.
예를 하나 들면, 장치가 제거되면 메시지번호에는 WM_DEVICECHANGE, WParam에는 DBT_DEVICEREMOVECOMPLETE, LParam에는 DEV_BROADCAST_HDR 구조체의 번지를 지정하여 메시지를 보내게 됩니다.
|