初学者就是啰嗦,别见笑。
我编了两个对话框(见图),第一个对话框就是将第一第二编辑框中的数相加,显示在第三编辑框里。reset按钮将三个编辑框的文字清除。这是很简单的编程,试用时能正常工作。第二个对话框只有五个按钮,就是对第一个对话框的子窗口进行操作。例如,click_sum 按钮的编程是:
程序代码:
void CTest_sumDlg::OnButton3()
{
// TODO: Add your control notification handler code here
int x,y;
CPoint p;
if(!hw3)MessageBox("fail to find window");else
{
CRect r;
::GetWindowRect(hw3,r);
x=(r.left+r.right)/2; y=(r.top+r.bottom)/2;
GetCursorPos(&p); SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
::Sleep(5);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
SetCursorPos(p.x,p.y);
}
}
能够正常工作,产生的效果与对第一对话框直接操作相同。
我的困难在于:
1 无法找到编辑窗口,它没有文字标识。
2 不知道怎么向编辑框里输入文字,也不知道如何取得编辑框中的文字。
3 用spy++能够得到子窗口的句柄,但那一串数字怎么用?好像不能通过编译。