active cab inf文件编写
最近做了一个网页下载控件。主要就是实现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文件编写的更多相关文章
- INF文件详解
安装信息(Setup Information)文件是Windows系统支持的一种安装信息存放文件,一般以INF作为扩展名,因此也叫INF文件.安装信息INF文件与Windows内建的安装服务引擎(AP ...
- 关于Autorun.inf文件
配置Autorun.inf文件可以使双击磁盘时,自动运行某一应用程序.但是现在只支持CD或者DVD媒体了(以前硬盘也可以) 关于Autorun.inf的组成部分可以参考https://msdn.mic ...
- Inno setup 安装*.inf文件_示例
nno setup 调用*.Inf文件的条目区段名称_示例 首先自己编写一个INF文件来供 Inno setup 进行测试: ;复制以下代码到记事本然后另存为123.inf .然后把123.inf文件 ...
- INF文件
百度百科:http://baike.baidu.com/view/637107.htm?fr=ala0_1_1 INF简介 INF是Device INFormation File的英文缩写,是Micr ...
- 网站 robots.txt 文件编写
网站 robots.txt 文件编写 Intro robots.txt 是网站根目录下的一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的 ...
- 【OpenWRT】【RT5350】【三】MakeFile文件编写规则和OpenWRT驱动开发步骤
一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二. ...
- Autorun.inf文件(2):改变硬盘分区图标
改变F盘图标. 原理:在f盘下新建一个Autorun.inf文件,文件内容是 [AutoRun]icon=favicon.ico准备名为favicon.ico图标文件,将其放在工程目录里,设计程序将它 ...
- ATL开发 ActiveX控件的 inf文件模板
ATL开发 ActiveX控件的 inf文件模板
- linux库文件编写入门(笔记)
linux库文件的编写 作者: laomai地址: http://blog.csdn.net/laomai 本文主要参考了如下资料⑴hcj写的"Linux静态/动态链接库的创建和使用&quo ...
随机推荐
- Centos-本机网络连接、运行端口和路由表等信息-netstat
netstat 网络状态,显示本机网络连接.运行端口和路由表等信息 相关选项 -a 显示本机所有连接和监听端口 -n 以网络IP地址形式显示当前建立的有效连接和端口 -r 显示路由表信息 -t 显示T ...
- How to read h5 file by Matlab
In matlab, one can use the following command to read h5 file data = h5read(filename,ds) data = h5rea ...
- 软件定义网络实验记录①--Mininet 源码安装和可视化拓扑工具
第一步: 在 Ubuntu 系统的 home 目录下创建一个目录,目录名为自己的标识,包括但 不限于学号.姓名拼音等,目录不要包含中文. 第二步: 在创建的目录下,完成 Mininet 的源码安装. ...
- 【音乐爬虫】Python爬虫-selenium+browsermob-proxy 解决动态网页 js渲染问题
1.一般的python爬虫很简单,直接请求对应网址,解析返回的数据即可,但是有很多网站的数据的js动态渲染的,你直接请求是得不到对应的数据的 这时就需要其它手段来处理了. 2.以一个例子来说明,整个过 ...
- 【学习笔记/题解】虚树/[SDOI2011]消耗战
题目戳我 \(\text{Solution:}\) 题目很显然可以设\(dp[i]\)表示\(i\)的子树内的关键点都不和\(i\)联通的最小待机,有如下\(dp\)方程: \(v\in son_u, ...
- 【题解】【HAOI2011】Problem b
\(Luogu2522\) 题目大意:求下面式子的值: \[\sum_{i=x}^n\sum_{j=y}^m[\gcd(i,j)=k] \] 这个东西直接求不好求,考虑差分,从\([1,n]\)的范围 ...
- C# OOP编程
1:面向对象的概念:什么是类.对象.以及类与对象的关系. 面向对象三大特征: 封装/继承/多台 2:封装性: 用访问修饰符来体现封装性. Public 公共的/ private 私有的/Protect ...
- Python+Appium自动化测试(9)-自动选择USB用于传输文件(不依赖appium对手机页面元素进行定位)
一,问题 app自动化测试使用Android真机连接电脑时,通常会遇到两种情况: 1.测试机连接电脑会弹窗提示USB选项,选择USB用于"传输文件",有些手机不支持设置默认USB选 ...
- 热力图 vue 项目中使用热力图插件 “heatmap.js”(保姆式教程)
我现在写的这项目是用CDN引入 heatmap.js, 可根据自己项目情况使用哪种方式引入插件. 官网地址 "https://www.patrick-wied.at/static/heatm ...
- 2017年 实验三 C2C模拟实验
[实验目的] 掌握网上购物的基本流程和C2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商务应用软件 [知识准备] 本实验需要的理论知识:C2C ...