Webbrowers控件的小技巧

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

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

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

 

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

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

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

 

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

<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>

 

客户端调用

	CComVariant  comKey2;
	CComVariant  func2 = Pro.c_str();
	spScript.Invoke1(L"hh",&func2,&comKey2);

	
	string  InfDecKey= _com_util::ConvertBSTRToString( comKey2.bstrVal);

  

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

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

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

 

posted @ 2014-03-13 13:53  小鱼儿c  阅读(668)  评论(0编辑  收藏  举报