关于WM_COMMAND消息
我用sendMessage()向对话框发送WM_COMMAND消息一次,为什么对话框收到两次
发送代码如下
SendMessage(hwndDlg,WM_COMMAND,(BM_GETCHECK>>16)+IDC_AUTOCLEAR,(LPARAM)GetDlgItem(hwndDlg,IDC_AUTOCLEAR));
其中hwndDlg是对话框句柄 IDC_AUTOCLEAR是控件ID
case IDC_AUTOCLEAR:
MessageBox(NULL,TEXT("调用IDC_AUTOCLEAR"),TEXT("系统提示"),IDOK);
if(BST_CHECKED == IsDlgButtonChecked(hwndDlg,IDC_AUTOCLEAR)){
MessageBox(NULL,TEXT("IDC_AUTOCLEAR选中"),TEXT("系统提示"),IDOK);
if(getGameWindowHandle()==NULL){
//CheckDlgButton(hwndDlg,IDC_AUTOCLEAR,BST_UNCHECKED);
//break;
}
//SetTimer(NULL,autoClearId,autoTime,autoClear);
}
处理分支如上,发一次消息,打印了两次