社区
界面
帖子详情
如何检测弹出窗口是那个窗口的
sunyuzhe
2006-11-21 02:25:44
我的一个程序有8个htmlview,html中程序会在不同的时间弹出提示对话框,
我现在想检测出到底是那个窗口弹出的消息框,请问如何解决
...全文
434
24
打赏
收藏
如何检测弹出窗口是那个窗口的
我的一个程序有8个htmlview,html中程序会在不同的时间弹出提示对话框, 我现在想检测出到底是那个窗口弹出的消息框,请问如何解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lion_wing
2006-11-30
打赏
举报
回复
http://junkple.spaces.live.com/blog/cns!be473e642bbaf80a!125.entry
superarhow
2006-11-30
打赏
举报
回复
alert弹出之前或调用IDocHostShowUI::ShowMessage
lion_wing
2006-11-30
打赏
举报
回复
OnNewWindow2是指弹出新的IE窗口,而楼主所说的alert弹出的窗口是对话框
如果要想知道是哪个窗口弹出的,就要控制(拦截)每个htmlview中加载页面中JS的运行。
sunyuzhe
2006-11-29
打赏
举报
回复
用了spy++看到弹出窗口类的父类是MainFrame,所以检测不到是哪个子类弹出的
LiChenYue
2006-11-27
打赏
举报
回复
可以用工具看吧?比如VC6自带的SPY++
sunyuzhe
2006-11-27
打赏
举报
回复
大家帮忙看看
sunyuzhe
2006-11-24
打赏
举报
回复
void CMultiBrowserView::OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel)
我重载了,可是发现不了弹出的alert窗口
greenabc
2006-11-24
打赏
举报
回复
类似 重载 OnNewWindow 之类的方法,
xjtuzhw
2006-11-24
打赏
举报
回复
一般情况下,网站弹出窗口和网站的ip是同一地址段的,你可以分析弹出页面的源码看下有无关联
sunyuzhe
2006-11-23
打赏
举报
回复
大家帮忙解决一下啊
sunyuzhe
2006-11-22
打赏
举报
回复
确实,我观查了一下弹出的msgbox的父窗口不是其对应的view类,所以比较难判断
Stefine
2006-11-22
打赏
举报
回复
LZ的是多视图下,每个VIEW都打开网页,然后判断alert这种msgbox来自哪个网页(view)里弹出的?
想不到办法,关注ing
lion_wing
2006-11-22
打赏
举报
回复
http://community.csdn.net/Expert/topic/4830/4830933.xml?temp=.1040155
sunyuzhe
2006-11-22
打赏
举报
回复
OnNewWindow()是不会 截取下面弹出的内容的
alert("Please enter user name & password");
laolaoliu2002
2006-11-22
打赏
举报
回复
在IE下载网页的内容的时候截获IE的OnNewWindow事件,对他进行重载.
sunyuzhe
2006-11-22
打赏
举报
回复
我试了一下截获OnNewWindow2是取不到消息的,因为弹出窗口的信息不是我们程序加上的,而上htmlview中的网页根据情况弹出的,所以很难判断出
lion_wing
2006-11-21
打赏
举报
回复
在每个htmlview的NewWindow时,控制弹出窗口,即可以在此修改弹出窗口标题
一分之千
2006-11-21
打赏
举报
回复
两位大哥说的对啊,好像除了这样别的方法不太好判断了,这个消息框好像是没有父窗口之类的东西,不太好办。在htmlview里边要弹出消息框的时候你总得写代码进行判断吧?那时候你久写上标题1标题2呗
】=====================
syy64(太平洋) ( ) 信誉:145 Blog 2006-11-21 14:39:02 得分: 0
每个窗口弹出的消息内容,然后再加上窗口标示的字符串,作为提示字符串。
Top
zhucde(【風間苍月】★MVP★【虚拟闲人】) ( ) 信誉:272 Blog 2006-11-21 14:39:26 得分: 0
可以给每类弹出框设相同的标题.
如:MessageBox("内容","标题1",MB_OK)
sunyuzhe
2006-11-21
打赏
举报
回复
CWnd* pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST);
bool bFindWindows=false;
while (pMainWnd)//先列举所有的窗口
{
CString strClassName;
CString text;
GetClassName(pMainWnd->m_hWnd,strClassName.GetBufferSetLength(100),100);
::GetWindowText(pMainWnd->m_hWnd,text.GetBufferSetLength(256),256);
WINDOWINFO pwi;
::GetWindowInfo(pMainWnd->m_hWnd,&pwi);
text.MakeLower();
if(::IsWindowVisible(pMainWnd->m_hWnd))
if((strClassName=="#32770"&&(text.Find("microsoft internet")!=-1||text.Find("安全警报")!=-1)||
(strClassName=="Internet Explorer_TridentDlgFrame"&&text.Find("脚本错误")!=-1)))//在window98下的ie广告类名为CabinetWClass)
{
if(::IsWindow(pMainWnd->m_hWnd))
pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT);
}
我是用这样的方法检测弹出窗口的
但是这样却无法判断是那个view弹出的
sunyuzhe
2006-11-21
打赏
举报
回复
因为是htmlview,他弹出的都是相关网站弹出的信息,内容不是由我们来控制的,
加载更多回复(4)
浏览器是否自动屏蔽了
弹出
窗口
的
检测
本文提供了一段JavaScript代码,用于
检测
浏览器是否启用了
弹出
窗口
阻挡功能。通过创建特定条件下的
弹出
窗口
并检查其状态,可以判断是否有阻挡器在运行。如果
检测
到阻挡器,则会显示警告信息。
检测
浏览器是否自动屏蔽了
弹出
窗口
本文提供了一段JavaScript代码,用于
检测
浏览器是否启用了
弹出
窗口
阻挡功能,并在
检测
到此功能启用时,提醒用户关闭或调整设置以允许网站打开
弹出
窗口
。
js
检测
弹出
窗口
拦截程序
本文探讨了在Web编程中使用
弹出
窗口
可能遇到的
弹出
窗口
拦截器问题,并提供了一个JavaScript解决方案,通过
检测
并提示用户关闭拦截器来确保弹窗功能正常运行。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章