我正在尝试编写一个脚本来与第 3 方应用程序中的查找表单进行交互。
该表单有许多文本框,对应于“电话号码”和“客户 ID”等字段,还有一个命令按钮,标题为“查找”。
单击命令按钮时,表单上的多列列表框将填充数据库中与给定条件匹配的任何记录。然后,用户必须双击特定记录,这会打开一个新对话框,其中包含“调整”相关记录的选项。
我没有制作这个表格,也没有直接访问它从中提取的数据库的权限;该表格只允许用户一次调整一条记录。
我希望我的脚本一次复制一个 Excel 工作表中的电话号码列表,将它们粘贴到表单上的正确字段中,单击“查找”按钮,如果列表框中的记录字段之一匹配预定值,打开调整对话框并更改记录。
我已经使用 FindWindow 和 FindWindowEx 来获取我想要将文本粘贴到的字段的句柄,并使用 SendMesage 函数与表单进行交互。
我被困在如何从出现的列表框中读取数据。它不支持复制或粘贴,所以我不能使用 SendMessage 或 SendKeys。使用 WinSpy++,列表框的类是“Afxwnd40”,通过对在线帮助论坛的粗略搜索,它是一个传统控件,它直接“绘制”文本而不能复制它。我听说过一些关于使用“钩子”在数据发送到相关窗口时捕获数据的事情,但我不知道如何设置它。我可以使用的唯一工具是 WinSpy++ 和 VBA 中的任何 Windows API 调用。