最近做了一个网页下载控件。主要就是实现ActiveX控件功能。

由于自己是第一次做,不熟悉其过程。中间走了很多弯路。现在把走过得路程记录部分,希望对其他人可以有点用。

首先制作一个你自己的DLL文件。这里就不累述DLL的制作了。网上DLL的制作多的是。下面介绍下inf文件的写。

在自己弄的过程中在网络上也搜索了很多资料。但都不全面,甚至有错误。下面自己的一点心得和大家分享下:

inf文件主要节点(也是我在制作中使用的节点,未使用到的我在此处也就没有发言权啦^_^):

[Version] inf的版本信息

[String] 自定义的本地化字符串

[destinationDirs] 目的路径

[defaultInstall] 默认安装

[用户自定义节点]  用户可以自定义节点

[目标目录ID]的值:(前后都加上百分号,例如  %01%  /  %16384% )

01 INF文件所在的当前目录

10 C:/Windows

11 C:/Windows/System32

18 C:/Windows/Help

20 C:/Windows/Fonts

24 C:/  即系统所在盘

53 C:/Documents and Settings/[当前用户名] 其他常用的目录ID:

16384 Current User/Desktop

16386 Current User/Start Menu/Programs

16389 Current User/My Documents

16390 Current User/Favorites

16391 Current User/Start Menu/Programs/Startup

16392 Current User/Recent

16393 Current User/SendTo

16395 Current User/Start Menu

16397 Current User/My Documents/My Music

16398 Current User/My Documents/My Videos

16400 Current User/Desktop

16403 Current User/NetHood

16404 C:/WINDOWS/Fonts

16405 Current User/Templates

16406 All Users/Start Menu

16407 All Users/Start Menu/Programs

16408 All Users/Start Menu/Programs/Startup

16409 All Users/Desktop

16410 Current User/Application Data

16411 Current User/PrintHood

16412 Current User/Local Settings/Application Data

16415 All Users/Favorites

16416 Current User/Local Settings/Temporary Internet Files

16417 Current User/Cookies

16418 Current User/Local Settings/History

16419 All Users/Application Data

16420 System Root (C:/WINDOWS)

16421 C:/WINDOWS/System32

16422 Program Files

16423 Current User/My Documents/My Pictures

16424 Current User

16425 C:/WINDOWS/System32

16427 C:/Program Files/Common Files

16429 All Users/Templates

16430 All Users/Documents

16431 All Users/Start Menu/Programs/Administrative Tools

16432 Current User/Start Menu/Programs/Administrative Tools

16437 All Users/Documents/My Music

16438 All Users/Documents/My Pictures

16439 All Users/Documents/My Videos

16440 C:/WINDOWS/resources

16441 C:/WINDOWS/resources409

16443 Current User/Local Settings/Application Data/Microsoft/CD Burning

例子:

此INF文件的目的:

a.复制指定的文件到指定的目录

b.自动注册指定的dll文件。

[version] signature="$CHICAGO$"       ;此处的签名是告诉windows此inf文件为windows的安装文件。如果没有此签名windows 不会把inf文件当作windows识别的任何设备类型的inf文件接受。不区分大小写的。

AdvancedINF=2.5

[Strings]  ;此处主要定义一些本地化字符串,给出该inf的一些基本信息 Product="Your Product name" Vsersion = "1.1.1" Author = "www.youcompany.com" Copyright = "Conpyright 2008"

[FileList] ;该节点是用户的自定义节点。用户自定义节点的格式就是[YourName],然后在下面写一些自己需要的内容就可以了。 ;该节点下只是指出了下面需要复制的文件的具体路径。 /test/Setup.exe test.dll

[DestinationDirs] ;该节点是定义目的路径。 FileList=%11%/test/ ;该句的意义是:把上面用户自定义节点FileList下面包含的文件复制到目的目录:"c:/widows/system32/test/"下

[RegisterDll] ;该节点为告诉系统需要注册的DLL有哪些。 %11%/test.dll ;指出所需要的DLL文件所在的具体路径。

[AddMyReg] ;此节点为用户自定义节点。目的在于修改注册表相关项。 HKLM,"SoftWare/Microsoft/sign","",FLG_ADDREG_TYPE_SZ,1 ;格式:主键值,子键,类型,键值

[DefaultInstall];默认安装 CopyFiles=FileList  ;复制FileList下的文件到[DestinationDirs]节点中FileList=%11%/test/所指定的目录 RegisterOCXs= RegisterDll ;自动注册[RegisterDll]节点指定的DLL文件 AddReg=AddMyReg ;添加一个注册表项。添加的内容根据[AddMyReg]节点指定的信息添加。

inf文件制作完成。

下面就打包成CAB包。我使用的工具是CabMaker。CabMaker使用很简单。

CAB包完成之后还必须对其进行签名。签名需要特定的工具。比如你可以自己申请一个控件签名证书。一般签名是:

启动signcode,会弹出一个用户对话框,大家可以根据自己的需要使用该对话框。在这里就不累赘了。

签名的主要作用是告诉浏览器你的控件是安全的有公司负责地(*^__^*) ,可以放心使用地。

到此一个签名的CAB包完成。下面就是在页面里面调用该CAB包啦。

在 页面添加如下代码:

<OBJECT id="test"  style="position:absolute; LEFT=0; TOP=0;width=0; height=0;"
classid="clsid:12457889-2314-4578-Ad12-ABCD12351234" codebase = "test.cab#version=1,0,0,1" >

注意:

classid为你要使用到的DLL中的类的ID。在使用VC生成DLL是都会给一个ID。

CodeBase是指定你的CAB包放在什么位置。

Style是告诉系统你的CAB在页面什么位置显示。此处是不显示。

active cab inf文件编写的更多相关文章

  1. INF文件详解

    安装信息(Setup Information)文件是Windows系统支持的一种安装信息存放文件,一般以INF作为扩展名,因此也叫INF文件.安装信息INF文件与Windows内建的安装服务引擎(AP ...

  2. 关于Autorun.inf文件

    配置Autorun.inf文件可以使双击磁盘时,自动运行某一应用程序.但是现在只支持CD或者DVD媒体了(以前硬盘也可以) 关于Autorun.inf的组成部分可以参考https://msdn.mic ...

  3. Inno setup 安装*.inf文件_示例

    nno setup 调用*.Inf文件的条目区段名称_示例 首先自己编写一个INF文件来供 Inno setup 进行测试: ;复制以下代码到记事本然后另存为123.inf .然后把123.inf文件 ...

  4. INF文件

    百度百科:http://baike.baidu.com/view/637107.htm?fr=ala0_1_1 INF简介 INF是Device INFormation File的英文缩写,是Micr ...

  5. 网站 robots.txt 文件编写

    网站 robots.txt 文件编写 Intro robots.txt 是网站根目录下的一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的 ...

  6. 【OpenWRT】【RT5350】【三】MakeFile文件编写规则和OpenWRT驱动开发步骤

    一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二. ...

  7. Autorun.inf文件(2):改变硬盘分区图标

    改变F盘图标. 原理:在f盘下新建一个Autorun.inf文件,文件内容是 [AutoRun]icon=favicon.ico准备名为favicon.ico图标文件,将其放在工程目录里,设计程序将它 ...

  8. ATL开发 ActiveX控件的 inf文件模板

    ATL开发 ActiveX控件的 inf文件模板    

  9. linux库文件编写入门(笔记)

    linux库文件的编写 作者: laomai地址: http://blog.csdn.net/laomai 本文主要参考了如下资料⑴hcj写的"Linux静态/动态链接库的创建和使用&quo ...

随机推荐

  1. IPV6介绍已经IPV6改造基本步骤

    IPV6介绍 地址资源无限多 通常见到的124.33.24.116这种形式的是ipv4版本的地址,这种地址由32位二进制数表示. ipv6是一种新的ip地址的表示方式形如fc80::2367:7cff ...

  2. PCA基本原理

    降维问题的优化目标:将一组N维向量降维k维(K大于0,小于N),其目标是选择K个单位(模为1)正交基,使得原始数据变换到这组基上后, 选择然数据点之间方差最大的方向作为坐标轴 各字段两两间协方差为0, ...

  3. C语言中 malloc

    参考:https://blog.csdn.net/kokodudu/article/details/11760863 一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: ...

  4. Thymeleaf 异常:Exception processing template "index": An error happened during template parsing (template: "class path resource [templates/index.html]")

    Spring Boot 项目,在 Spring Tool Suite 4, Version: 4.4.0.RELEASE 运行没有问题,将项目中的静态资源和页面复制到 IDEA 的项目中,除了 IDE ...

  5. MATLAB textread函数

    实际应用中经常要读取txt文件,这个时候就需要用到强大的textread函数.它的基本语法是:[A,B,C,...] = textread(filename,format)[A,B,C,...] = ...

  6. Tensorflow学习笔记No.2

    使用函数式API构建神经网络 函数式API相比于keras.Sequential()具有更加灵活多变的特点. 函数式API主要应用于多输入多输出的网络模型. 利用函数式API构建神经网络主要分为3步, ...

  7. angularCroppie

    下载 angularCroppieangularCroppie 图像Cropper使用Croppie 安装 Npm: Npm安装角croppie 使用 添加依赖项:angular.模块("m ...

  8. [HAOI 2017]八纵八横

    线段树分治+线形基. 线段树分治是个锤子?? 以时间轴构建线段树,把每个环以"对线段树产生影响的时间区间"的形式加入线段树即可. #include<bits/stdc++.h ...

  9. 利用babel工具将es6语法转换成es5,Object.assign方法报错

    一.新建工程初始化项目 1.新建工程文件夹这里起名叫做es6,然后在里面创建两个文件夹分别为src .dist如下图:(src为待转换es6 js存放目录,dist为编译完成后的es5 js存放目录) ...

  10. 多测师讲解自动化 _邮件发送_高级讲师肖sir

    第一步.进入如下网址申请163邮箱. https://mail.163.com/ 第二步.注册完之后登录.点击如下图设置­点击POP3/SMTP/IMAP. 第三步.右侧点击客户端授权密码. 第四步. ...