vc++如何得知IE被启动了?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc++如何得知IE被启动了?相关的知识,希望对你有一定的参考价值。
参考技术A 在vc中 用 FindWindow()查找ie 可以通过窗口名称 和类目不知道的话k 需要用黑客软件 反编译 ie 查看它的窗口··
如果查找记事本的话 第一个参数是 “NotePad.exe”,不知道找ie用“iexplore.exe” 行不 你可以试试。
通过FindWindow 返回的句柄 就可以知道 是不是有ie 启动了 参考技术B if(FindWindow("IEFrame",NULL))
MessageBox(0,"IE已经被启动了","提示",0);
或者 EnumWindows 枚举进程(全路径)然后取IE的路径相吻合 也都行!本回答被提问者采纳 参考技术C 看不懂,你的意思是用VC++编程查出IE被启动,还是IE加载VC++程序时,想被你发现。
两种我都不懂,进来加两分。
vc++,使用IWebBrowser2组件打开网页时,怎么得知网页打开是不是完毕?怎么主动停止打开网页?
如题
IWebBrowser2::Stop())我看明白了
IWebBrowser2::get_ReadyState是什么意思啊?看不懂啊!
HRESULT hr = IWebBrowser2::get_ReadyState(&r);
if (SUCCEEDED(hr) && r == READYSTATE_COMPLETE)
...
2)if (SUCCEEDED(IWebBrowser2::Stop())
...
-------------------------
Navigate2后,可以查询组建状态,查询所使用的方法就是get_ReadyState。
如果READYSTATE等于READYSTATE_COMPLETE,就说明Navigate2所请求的数据已经DOWNLOAD完成了。
另外,还有个可以实时监控网页是否打开完毕的方法,准确说是IWebBrowser2的触发事件,原型:
BEGIN_EVENTSINK_MAP(MainDlg, CDialog)
ON_EVENT(MainDlg, IDC_EXPLORER1, 259, MainDlg::DocumentCompleteExplorer1, VTS_DISPATCH VTS_PVARIANT)
END_EVENTSINK_MAP()
void MainDlg::DocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT* URL)
//捕捉到网页完全下载/打开成功事件
由于我觉得楼主似乎对COM不太熟悉,因此该方法的实现原理也就不多说了。以上原型是针对ActiveX控件的,通过向导会自动添加该方法的映射,因此先建一个对话框,然后利用向导自动生成的该映射代码添加至含有对应IWebBrowser2的包装类所在的类代码中,如CXXXView,CXXXDoc类中。 参考技术A 看MSDN文档吧~
http://msdn.microsoft.com/zh-cn/library/aa752127(en-us,VS.85).aspx
以上是关于vc++如何得知IE被启动了?的主要内容,如果未能解决你的问题,请参考以下文章