在dll中SendMessage(HWND_BROADCAST,MSG_R,NULL,NULL);在调用它的程序中要怎么获得MSG_R消息??????
dll中定义了消息
#define MSG_R WM_USER+120
#define MSG_S WM_USER+121
#define MSG_T WM_USER+122
#define MSG_U WM_USER+123
#define MSG_V WM_USER+124
#define MSG_W WM_USER+125
#define MSG_X WM_USER+126
#define MSG_Y WM_USER+127
然后在键盘按下相应键时:
switch(wParam)
{
case 'R':
SendMessage(HWND_BROADCAST,MSG_R,NULL,NULL);
//AfxMessageBox("send r msg");
break;
case 'S':
SendMessage(HWND_BROADCAST,MSG_S,NULL,NULL);
break;
case 'T':
SendMessage(HWND_BROADCAST,MSG_T,NULL,NULL);
break;
case 'U':
SendMessage(HWND_BROADCAST,MSG_U,NULL,NULL);
break;
case 'V':
SendMessage(HWND_BROADCAST,MSG_V,NULL,NULL);
break;
case 'W':
SendMessage(HWND_BROADCAST,MSG_W,NULL,NULL);
break;
case 'X':
SendMessage(HWND_BROADCAST,MSG_X,NULL,NULL);
break;
case 'Y':
SendMessage(HWND_BROADCAST,MSG_Y,NULL,NULL);
break;
default:
break;
}
在调用此dll的程序中:
#define MSG_R WM_USER+120
#define MSG_S WM_USER+121
#define MSG_T WM_USER+122
#define MSG_U WM_USER+123
#define MSG_V WM_USER+124
#define MSG_W WM_USER+125
#define MSG_X WM_USER+126
#define MSG_Y WM_USER+127
BOOL CGetWindowDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message==MSG_R)
{
AfxMessageBox("r");
}
return CDialog::PreTranslateMessage(pMsg);
}
日,怎么收不到dll发过来的消息,怎么办?