BHO程序如何自动点击网页弹出的对话框

poodle 2008-01-09 05:43:39
我在用ATL做一个BHO插件,现在可以自动填写页面,也可以自动触发网页的按钮事件,但有时网页会弹出一个对话框,需要点击“确认”或“取消”页面才能继续,怎么才能让程序自动点击页面弹出的对话框按钮呢?
...全文
353 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainbowsoftware 2009-03-12
  • 打赏
  • 举报
回复
mark
huangma1981926 2009-02-13
  • 打赏
  • 举报
回复
你是怎么检测到网页弹出对话呀??我用了GetActiveWindow()得到的是网页的句柄,同时我用了DISPID_IHTMLELEMENT_ONCLICK事件是来获取来获取GetForgroundWindow还是得到网页的句柄,得不到对话框的句柄。现在问题的关键是如何捕捉到IE弹出对话框?并进一步来获取对话框中的内容。
阿特 2008-01-23
  • 打赏
  • 举报
回复
搭车问一个问题:bho 如何获取页面中的Activex.可否屏蔽用户在页面中的ACtivex 点击右键呢?
poodle 2008-01-20
  • 打赏
  • 举报
回复
第一次发帖,不知道如何散分,请指教。
poodle 2008-01-20
  • 打赏
  • 举报
回复
不好意思,这几天太忙一直没登上来看。谢谢eduyu!
我用了另一种方法,当检测到网页弹出对话框时,用::GetFocus()获得对话框上的按钮句柄,然后::GetParent(x)获得按钮所在对话框句柄,使用::GetWindowText()获得对话框标题确认是“Windows Internet Explorer”后,使用EnumChildWindows(y, EnumChildProc,NULL)枚举对话框的内容,可以获得对话框上各个控件的句柄,然后可通过发送按钮消息SendMessage(z,BM_CLICK,0,0)或者::GetNextDlgTabItem(y,x,FALSE)后再SendMessage点击下一个按钮,就可以不留痕迹的自动处理掉对话框。获得对话框句柄也可以使用::GetActiveWindow();
eduyu 2008-01-14
  • 打赏
  • 举报
回复
并没有屏蔽,js调用这三个函数他其实也不知道你是点击的或者别的行为而触发的,他只是求这函数返回的结果而已,你重载这三个函数并返回正确结果即可,不需要弹出对话框而后再找对话框的handle而后再发消息,没有这个必要。
poodle 2008-01-14
  • 打赏
  • 举报
回复
因为那个网页是我们办理业务使用的一个接口,所有必须点击网页弹出的确认对话框,不能屏蔽,怎么在程序里模拟鼠标点击事件操作IE的弹出对话框,还没有解决啊。
eduyu 2008-01-12
  • 打赏
  • 举报
回复
如果是js的对话框,可以用自己写的js函数覆盖系统的window.confirm window.alert window.prompt三个函数。
类似这样:
function foo(..)
{
//do nothing
}

window.alert=foo;
美丽海洋 2008-01-12
  • 打赏
  • 举报
回复
你把系统的安全设置级别降低试试
captain_x 2008-01-11
  • 打赏
  • 举报
回复
mark
poodle 2008-01-11
  • 打赏
  • 举报
回复
网页弹出的确认对话框,默认焦点一般是确认按钮,那么敲个回车键就相当于鼠标单击了。那么我想能不能通过IE实例的句柄获得这个确认对话框的句柄,然后给它发送一个回车键消息?这个确认对话框能不能直接使用GetActiveWindow函数获得呢?
jameshooo 2008-01-09
  • 打赏
  • 举报
回复
脚本弹出的对话框难以控制
Autoruns for Windows 是 Mark Russinovich 和 Bryce Cogswell 开发的一款软件,它能用于显示在 Windows启动或登录时自动运行的程序,并且允许用户有选择地禁用或删除它们,例如那些在“启动”文件夹和注册表相关键中的程序。此外,Autoruns 还可以修改包括:Windows 资源管理器的 Shell 扩展(如右键弹出菜单)、IE浏览器插件(如工具栏扩展)、系统服务和设备驱动程序、计划任务等多种不同的自启动程序。 Autoruns for Windows 12.03 中文版 Autoruns 的“隐藏已签名的 Microsoft 条目”选项可帮助您放大已添加到系统中的第三方自动启动映像,并且它支持查看为系统上配置的其他帐户配置的自动启动映像。下载包中还包含一个命令行等效项,可以 CSV 格式输出,Autorunsc。 您可能会惊讶于自动启动了多少可执行文件! 用法 只需运行 Autoruns,它会显示当前配置的自动启动应用程序以及可用于自动启动配置的注册表和文件系统位置的完整列表。 Autoruns 显示的自动启动位置包括登录条目,资源管理器附加组件,Internet Explorer 加载项,包括浏览器帮助程序对象(BHO),Appinit DLL,图像劫持,引导执行映像,Winlogon 通知 DLL,Windows 服务和 Winsock 分层服务提供程序,媒体编解码器等等。切换选项卡以查看来自不同类别的自动启动。 要查看配置为自动运行的可执行文件的属性,请选择它并使用“属性”菜单项或工具栏按钮。如果 Process Explorer 正在运行且有一个活动进程正在执行所选的可执行文件,则条目菜单中的 Process Explorer 菜单项将打开执行所选映像的进程的进程属性对话框。 通过选择项目并使用“跳转到条目”菜单项或工具栏按钮导航到显示的注册表或文件系统位置或自动启动项的配置,然后导航到自动启动图像的位置。 要禁用自动启动条目,请取消选中其复选框。要删除自动启动配置条目,请使用“删除”菜单项或工具栏按钮。 “选项”菜单包括多个显示筛选选项,例如仅显示非 Windows 条目,以及访问扫描选项对话框,您可以从中启用签名验证和病毒总计哈希和文件提交。 在“用户”菜单中选择条目以查看不同用户帐户的自动启动图像。 Autorunsc 使用 Autorunsc 是 Autoruns 的命令行版本。 它的用法语法是: 用法:autorunsc [-a <* | bdeghiklmoprsw>] [-c | -ct] [-h] [-m] [-s] [-u] [-vt] [[-z] | [用户]]] 参数说明 -a 自动启动条目选择: * 所有。 b 引导执行。 d Appinit DLLs。 e Explorer插件。 g 边栏小工具(Vista 及更高版本) h 图像劫持。 i Internet Explorer 插件。 k 已知 DLL。 l 登录启动(这是默认设置)。 m WMI条目。 n Winsock 协议和网络提供商。 o 编解码器。 p 打印机监视器DLL。 r LSA安全提供商。 s 自动启动服务和非禁用驱动程序。 t 计划任务。 w Winlogon 条目。 -c 将输出打印为CSV。 -ct 以制表符分隔的值打印输出。 -h 显示文件哈希值。 -m 隐藏Microsoft条目(如果与-v一起使用,则为已签名的条目)。 -s 验证数字签名。 -t 以标准化UTC(YYYYMMDD-hhmmss)显示时间戳。 -u 如果启用了VirusTotal检查,则显示VirusTotal未知的文件或具有非零检测的文件,否则仅显示未签名的文件。 -x 将输出打印为XML。 -v [rs]查询基于文件哈希的恶意软件的VirusTotal。添加“r”以打开具有非零检测的文件的报告。如果指定了’s’选项,则报告为先前未扫描的文件将上传到VirusTotal。注意扫描结果可能在五分钟或更长时间内不可用。 -vt 在使用 VirusTotal 功能之前,您必须接受VirusTotal服务条款。如果您尚未接受这些条款而省略此选项,则会以交互方式提示您。 -z 指定要扫描的脱机Windows系统。 user 指定将显示自动运行项的用户帐户的名称。指定“*”以扫描所有用户配置文件

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧