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 加载一次后就不需要再加载,速度基本比原始调用没有任何差别了。

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

 

你可能感兴趣的:(Web)