程序要求自动从网站下载,该网站是用表单提交返回下载的。有来路判断,直接下载是无效的。所以思路是用Webbrowers模拟点击提交按钮。模拟提交按钮后,弹出 保存文件 的消息框,成功用API捕获框体的句柄,并且成功SendMessage点击保存。然后弹出 另存为 框体 我现在想做的是找到另存为消息框内 文件名 这个子框体的句柄,并且根据程序的要求更改保存的文件名后提交保存。用spy++找到这个子框体的类名是Edit,但无法用FindWindowEx获取该句柄。。经过几个小时的搜索后,发现解决方式是c1ptr = FindWindowEx(mainform, IntPtr.Zero, "WorkerW", null);c2ptr = FindWindowEx(c1ptr, IntPtr.Zero, "ReBarWindow32", null);c3ptr = FindWindowEx(c2ptr, IntPtr.Zero, "ComboBoxEx32", null);c4ptr = FindWindowEx(c3ptr, IntPtr.Zero, "ComboBox", null);filenameptr = FindWindowEx(c4ptr, IntPtr.Zero, "Edit", null);通过这样的方式,经过
 if (!filenameptr.Equals(IntPtr.Zero))
                {
                    results = results + "| 找到文件输入框体";                    SendMessage(filenameptr, WM_SETTEXT, (IntPtr)0, "sdfsdfd");                 }终于提示找到 文件名的输入框体,但用以上的SendMessage(filenameptr, WM_SETTEXT, (IntPtr)0, "sdfsdfd"); 死活无效啊。。救命救命