VC 操作网页JS代码和方法。(SDI and DLG)

用VC来操作网页。。

DLG 方法

1.添加插件Microsoft Web Browser 控件。。用这个来显示网页。。

 

m_Web.Navigate("E://1.htms",NULL,NULL,NULL,NULL);

 

#import "C:/windows/system32/mshtml.tlb"

 

附上js测试函数

 function fun()
 {

alert("This is test !");

把以上函数放到 html中!

///////////////////////////////////////////////////////////////////

2。。。。

MSHTML::IHTMLDocument2Ptr spDoc(m_Web.get_Document()); if (spDoc) { IDispatchPtr spDisp(spDoc->GetScript()); if (spDisp) { OLECHAR FAR* szMember = L"fun"; DISPID dispid; HRESULT hr = spDisp->GetIDsOfNames(IID_NULL, &szMember, 1, LOCALE_SYSTEM_DEFAULT, &dispid); if (SUCCEEDED(hr)) { COleVariant vtResult; static BYTE parms[] = VTS_BSTR; COleDispatchDriver dispDriver(spDisp, FALSE); dispDriver.InvokeHelper(dispid, DISPATCH_METHOD, VT_VARIANT, (void*)&vtResult, parms,Null); } } }

 

//////////////////////////////////////////////////

把以上函数放在button中,单击按钮就能弹出一个对话框!!!

 

怎么样,实现了没有、、、、

 SDI 方法

1。建立SDI文件,继承CHtmlView类。。

2 。使用同样的Html文件。。

3 。在菜单上建立一个菜单项,通过单击菜单来触发该网页的 JS函数

	IHTMLDocumentPtr ipDocument = GetHtmlDocument(); 
	IHTMLElementCollection *p;
	IDispatchPtr spDisp;
	ipDocument->get_Script(&spDisp);	
	
	if (spDisp)  
	{  
		OLECHAR FAR* szMember = L"fun";  
		DISPID dispid;  

		HRESULT hr = spDisp->GetIDsOfNames(IID_NULL, &szMember, 1,  
			LOCALE_SYSTEM_DEFAULT, &dispid);  

		if (SUCCEEDED(hr)) 
		{  
			COleVariant vtResult;  
			static BYTE parms[] = VTS_BSTR;  

			COleDispatchDriver dispDriver(spDisp, FALSE);   

			dispDriver.InvokeHelper(dispid, DISPATCH_METHOD, VT_VARIANT,  
				(void*)&vtResult, parms,NULL);  
		}  
	}  


这样就能实现 SDI中操作网页了!!

你可能感兴趣的:(html,Microsoft,null,System,byte,browser)