模拟键盘事件、鼠标事件很有用,例如自动化测试,交互系统(VNC),下面是一种很基本的控制方式:
void CTestDlg::OnButton1()
{
AfxMessageBox("【按钮1】 被点击");
}
void CTestDlg::OnButton2()
{
SetWindowText("【按钮2】 被点击");
}
//
// 下面模拟完成整个按钮的点击
//
void CTestDlg::OnButton3()
{
//完成单击【按钮1】事件
PostMessage(WM_COMMAND, MAKEWPARAM(IDC_BUTTON1, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_BUTTON1)->m_hWnd));
//完成单击【按钮2】事件
PostMessage(WM_COMMAND, MAKEWPARAM(IDC_BUTTON2, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_BUTTON2)->m_hWnd));
//完成单击【按钮N】事件
//................
//................
}
另外一篇文章见: