现在有两个程序:
程序A:是一个数据录入软件,所需执行步骤是:打开录入界面,输入数据,点击“录入数据”按钮录入数据,之后会弹出一个dialog:说是“输入成功”,点击“确定”,随后又出现一个dialog:询问是否继续录入数据,点击“是”,之后又打开一个录入界面,然后重复上面的操作。问题产生原因:由于要输入的数据量(数据已经在一个数据库A中)较大,而且该软件的数据分析算法(当点击“录入数据”时,既录入数据有对数据进行分析)是最主要的,如果我们自行分析其算法然后再开发成本较大,也不符合现实,所以干脆就写一个外挂类的程序B,辅助我们完成以上步骤。程序B现已经基本完成我所要的功能,但是有一处就是输入数据以后点击“录入数据”按钮,有时不能弹出,所以后续的操作就不能执行了。我的分析:我是通过函数sengmessage 给“录入数据”按钮发送消息BM_CLICK 之后进入我的下一步操作,下面是循环等待“输入成功”的dialog,但是现在这个对话框迟迟不出现,必须我过去点一下“录入数据”,然后才行,很是郁闷,望高手赐教!
另:经过我的分析:程序A是用。net开发的 “录入数据”按钮的classname是windowfrom。BUTTON。app3
我的程序B使用D6做的!请各位帮忙!!谢谢!!

解决方案 »

  1.   

    >>有时不能弹出,所以后续的操作就不能执行了。你这里的"有时不能" ?? 就是说有时能?? 说明你的程序基本没错你可以在:
    >>下面是循环等待“输入成功”的dialog
    加一个超时判断,比如过了一秒,还没跳出,就重复第一步的
    >>给“录入数据”按钮发送消息BM_CLICK 如果还不行,判断是否设置 “录入数据”为当前激活窗口了??另外,这种情况,用 PostMessage 试下,看效果如何?? 
    我以前也做过类似的,有时PostMessage更好
      

  2.   

    确定那个Button的句柄没有错吗。
      

  3.   

    谢谢 aiirii(ari-淘金坑) 
    我去试试谢谢 linzhengqun(风。我回来了)
    句柄肯定找到了,没错的