webbrowser 弹出模态对话框

csl312211865 csl312211865 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
参照lihuasoft大虾在http://topic.csdn.net/u/20080313/00/5e2add09-6103-405f-8f6b-6bbb220e9cfd.html中的回复,类似的用VC做了一个,代码如下:
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
HWND hWnd = (HWND)lParam;//lParam是主窗口的窗口句柄
HWND hChild = ::FindWindowEx(hWnd, NULL, "Button", "确定");
if(hChild != NULL)
{
::SendMessage(hChild, WM_LBUTTONDOWN, 0, 0);
::SendMessage(hChild, WM_LBUTTONUP, 0, 0);
}
return TRUE;
}


程序主界面里有个webbrowser控件,会出来一个确定的模态对话框(标题是"Microsoft Internet Explorer"),原本需手工去点击“确定”,程序才能继续运行。于是就想用代码区实现自动点击,按照lihuasoft的方法,在OnTimer里调用EnumWindows,然后转到EnumWindowsProc,但是死活找不到“确定”按钮的窗口句柄,每次都返回NULL;而::FindWindowEx(hWnd, NULL, "Button", "取消");去找主窗口上的一个“取消”按钮,能找到。
另外从Spy++中,发现"Microsoft Internet Explorer"窗口的Owner Window和Parent Window均为我的主界面,而该窗口上的“确定”按钮的Parent Window为"Microsoft Internet Explorer"窗口,Owner Window为(None)。
求解。
...全文
评论 13
收藏 已收藏
分享
返回顶部
csl312211865
VC/MFC 16,550 成员 421,606 内容