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 加载一次后就不需要再加载,速度基本比原始调用没有任何差别了。
看网上一些写的博客,对自己项目开发有一些帮助,还是感谢那些经常写博客人,这样就会减少别人走一些弯路,所以以后我自己也要多写一些技术的积累。
Webbrowers控件的小技巧的更多相关文章
- 深入Windows窗体原理及控件重绘技巧
之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望 ...
- 文字太多?控件太小?试试 TextView 的新特性 Autosizeing 吧!
Hi,大家好,我是承香墨影! Android 8.0 已经发布了有一阵子了,如果你有在关注它,你应该会知道它新增了一个对于 TextView 字体大小变动的新特性:Autosizing. 本身这个新特 ...
- UWP自动填充控件AutoSuggestBox小优化
UWP提供的AutoSuggestBox本身非常好用,在项目中经常用到,但是当我们使用时发现一下不人性化的设置,例子1如下: <Page x:Class="SelfInkCanvas. ...
- Android -- 常见控件的小效果
1,EditText控件 ① 修改光标颜色 自定义drawable 创建cursor.xml文件 <?xml version="1.0" encoding="utf ...
- ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)
下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...
- Swift语言之View,Button控件实现小方块在界面上的移动(纯代码实现)
import UIKit class ViewController: UIViewController { var diamonds:UIView! var diamondsXY = CGRectMa ...
- winform基础,主要控件简单介绍,以及小练习
WinForm - C/S B/S 客户端应用程序 - 是需要安装在用户电脑上才可以使用的程序特点:不需要联网也可以打开使用部分功能但是现在的情况是许多功能依然需要互联网的支持 代码部分在用户电脑上执 ...
- Android 基本控件相关知识整理
Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户.作为一个程序员如何才能开发出友好的图形界 ...
- PivotGridControl控件应用
一.概述 PivotGridControl是DevExpress组件中的一个重要控件,在数据多维分析方面具有强大的功能,它不仅可以分析数据库中的数据,而且还能够做联机分析处理(OLAP),并且支持多种 ...
随机推荐
- mssql游标demo
declare @billIds varchar(400) declare @billId varchar(40) DECLARE c1 CURSOR FOR select top 5 SaleNo ...
- iOS中的深复制与浅复制
很多语言中都有深复制浅复制的概念,如C++,ObjC等.简单来说,浅复制就是两个变量指向了同一块内存区域,深复制就是两个变量指向了不同的内存区域,但是两个内存区域里面的内容是一样的. 浅复制示意图: ...
- ECSHOP文件目录详解
ECShop 最新程序 的结构图及各文件相应功能介绍ECShop文件结构目录┣ activity.php 活动列表┣ affiche.php 广告处理文件┣ affiliate.php 生成商品列表┣ ...
- HadoopDB:混合分布式系统
HadoopDB 是一个 Mapreduce 和传统关系型数据库的结合方案,以充分利用 RDBMS 的性能和 Hadoop 的容错.分布特性.2009 年被 Yale 大学教授 Abadi 提出,继而 ...
- cocos2d-x RenderTexture
转自:http://blog.csdn.net/bill_man/article/details/7250911 1.CCRenderTexture 使用CCRenderTexture的过程总结起来一 ...
- 时间紧迫,写一些 NavigationController 一次性返回2级界面甚至更多级的界面
在NavigationController中,调用pushViewController可以将界面推到指定的界面,调用popToViewController可以返回上层界面,可是它的实现原理是什么? 好 ...
- 【32】确定你的public继承塑模出Is-A关系
1.public继承表示Is-A关系,也就是满足里氏代换.与之相对应的,private继承表示根据某物实现出,不满足里氏代换.子类对象初始化父类引用,编译通不过. 2.考虑下面的需求,企鹅继承鸟,Bi ...
- 教你如何选择Android游戏引擎
我们进行Android游戏开发时选择游戏引擎是必须的,但是该如何选择呢?哪个Android游戏引擎更加适合自己呢?本文就提供了三个游戏引擎的对比说明,阐述了它们各自的特点,为大家选择引擎提供了参照. ...
- tar备份系统的方法
下面是备份系统的方法: 然后打开终端,输入以下命令: 1.成为根用户: sudo su 2.转到根目录: cd / 然後,下面就是我用来备份我的系统的完整的命令:tar -cvpzf /med ...
- C#_Ajax_分页
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MvcTe ...