QQ登录

只需一步,快速开始

350上位机VC MFC利用WebBrower执行脚本

[ 复制链接 ]

350上位机VC MFC利用WebBrower执行脚本

350上位机VC MFC利用WebBrower执行脚本

用WebBrower执行脚本
功能展示
网页中包含有很多脚本,微软提供的类WebBrowser可以进行网页的操作,也可以方便的调用网页中的脚本,当前例程就是通过此类加载一网页,再执行网页中的脚本,效果如图,点击<加载网页>弹出一对话框选择要加载 的网页,点击<执行网页脚本>可执行网页中的脚本

要点提示
例程通过WebBrowser组件中IHTMLDocument2Ptr指针调用GetScript()函数可以获得脚本函数并执行,在使用IHTMLDocument2Ptr接口前就先载入mshtml.tlb,即调用代码#import "mshtml.tlb"

实现功能
1.新建基于对话框的应用程序
2.添加Microsoft WebBrowser控件,并添加控件对应的类CWebBrowser2,在主对话框中添加此类的成员函数 CWebBrowser2 m_WebBrowser;及在主对话框头文件添加代码#import "mshtml.tlb“
3.添加按钮<加载网页><执行网页中脚本>关联点击函数
void CGkbc8Dlg::OnExecute()
{
MSHTML::IHTMLDocument2Ptr spDoc(m_WebBrowser.GetDocument());
if (spDoc)
{
IDispatchPtr spDisp(spDoc->GetScript());
if (spDisp)
{
OLECHAR FAR* szMember = L"messagebox";
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, "5+Math.sin(9)");
}
}
}
}
void CGkbc8Dlg::OnLoad()
{
CString sFilePath;
CFileDialog Dlg(TRUE,".html","工控编程吧",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"网页文件(*.html)|*.html;*.htm||");
if(Dlg.DoModal() == IDOK)
sFilePath = Dlg.GetPathName();
else
return;
m_WebBrowser.Navigate(sFilePath,NULL,NULL,NULL,NULL);
}
可加载例程根目录文件<调用脚本测试.html>进行测试

我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:350上位机VC MFC利用WebBrower执行脚本.rar 
文件大小:1.09 MB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索