Webbrowers控件的小技巧

我最近接触webbrowers 这个控件比较多,感觉用起来比较顺手吧。可以做很多操作。

貌似很多网络模拟有时候都内置这个控件或者类似的控件,但这样子速度就不能跟那些单纯用API 构建数据包比了。

我一般网页模拟都会用自己封装的WININET API进行访问。

 

webbrower控件可以加载本地html ,这个东西就非常好了。我们可以提取网页一些js 结合html 进行各种调用,这样就完全得到沃恩想要东西,可以任意作何。

我们可以加载我么需要js进行各种调用。

注意我们使用时候,一定要webbrower控件加载html加载完毕,如果没有加载完毕就调用一个方法会失败。这个我测试好久才方向。

 

我们可以在html构建一个特许函数用来被客户端任意调用,先看一下这个js例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>
hello world
</title>
    <script type="text/javascript" src="raphael.js"></script>
</head>
<body>
    <script>
     
    function hh(a)
    {   
     //alert(a);         
    var f1=(new Function(a));
    return f1();
    }
     
</script>
</body>
<html>

 

客户端调用

1
2
3
4
5
6
CComVariant  comKey2;
CComVariant  func2 = Pro.c_str();
spScript.Invoke1(L"hh",&func2,&comKey2);
 
 
string  InfDecKey= _com_util::ConvertBSTRToString( comKey2.bstrVal);

  

 客户端只要传入字符串就可以构建成任意函数,这个相当的灵活。

我们webbrows 加载一次后就不需要再加载,速度基本比原始调用没有任何差别了。

看网上一些写的博客,对自己项目开发有一些帮助,还是感谢那些经常写博客人,这样就会减少别人走一些弯路,所以以后我自己也要多写一些技术的积累。

Webbrowers控件的小技巧,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。