跳至正文
-
欢迎您时常回来看看,不错过任何精彩文章。收藏本站!
第七手机网

中国大型手机资讯类网站! https://www.7shouji.com

第七手机网

中国大型手机资讯类网站! https://www.7shouji.com

  • 首页
  • 资讯
  • 热门品牌
  • 新机曝光
  • 安卓频道
  • 苹果频道
  • 智能家居
  • 手游
  • 5G频道
  • VR
  • 趣闻
  • 智能生活
  • 首页
  • 资讯
  • 热门品牌
  • 新机曝光
  • 安卓频道
  • 苹果频道
  • 智能家居
  • 手游
  • 5G频道
  • VR
  • 趣闻
  • 智能生活
关

搜索

趣闻

用HTML应用启动CD

作者 dawei
2019年11月25日

  本文介绍一种用HTML应用来启动CD的方法。HTML应用即HTML Application,也称为HTA应用,这是一种从IE 5.0开始出现的应用形式。HTML应用与普通HTML页面不同,它能够读写文件系统和注册表,由于它在本地运行,所以能够调用各种COM组件——即使COM组件没有适当的安全标记也可以。HTML应用运行时不会显示出IE的工具条和菜单,所以它看起来不象Web页面,而是象一个“真正的”程序。


  一个设计专业、精美的CD启动器能够给用户留下良好的印象。启动程序可以为用户提供软件安装和光盘内容的说明,提供帮助,检查必要的第三方软件和对操作系统的要求,甚至还可以乘机向用户推荐你的其他产品,最重要的是,启动程序能够简化软件安装过程。Microsoft把支持CD“自动播放”作为兼容“Designed for Windows”标记的必备功能,软件易用性的重要程度由此可见一斑。


一、CD的启动方式


  支持CD“自动播放”的启动器有多种实现方法,除了HTA,至少还包括:


   ▲ 编写一个简单的Visual Basic程序。采用这种方式的主要问题在于,目标系统上必须有VB运行库。虽然可以用临时安装VB运行库的办法解决,但这种方法看起来比较笨拙。


   ▲ 直接启动CD上软件的主安装程序(下面我们称之为setup.exe)。如果不想提供帮助信息、产品说明以及检查目标环境是否符合要求,直接启动setup.exe也是一种选择。


   ▲ 使用商业启动程序。有不少商业的(以及共享的)产品能够创建CD启动器。采用这种方式与自己编写HTA一样有许多优点,但采用商业产品要求你花时间了解该产品,同时还要有一定的投资。如果采用HTML应用,你可以方便地运用HTML、脚本代码构造用户界面,运用COM组件扩展HTA的功能。


   ▲ 使用html文件。HTML文件不能读写注册表,而且它在启动主安装程序时会引起安全警告。


  对于要求不高的场合,软件安装过程完全可以由HTA应用独立完成,不再需要主安装程序。


二、AUTORUN.inf文件


  要让CD具有自动播放功能,CD的根目录下必须有一个AUTORUN.INF文件,内容如下:


[autorun]


OPEN=<要求运行的执行文件>


ICON=<在Windows资源管理器中显示的图标>


  如果不想显示图标,可以忽略ICON这一项。Windows的自动播放功能不调用Win32 ShellExecute() API,因此在OPEN这一项中只能填.exe、.com或.bat文件。因为我们想用.hta文件,这是一个小麻烦。不过解决办法很简单,只需创建一个调用ShellExecute()的autorun.exe文件就可以了。


  autorun.exe是一个stub程序,它有一个命令行参数——要求运行的文件名字。例如,如果要求autorun.exe启动autorun.hta应用,在AUTORUN.INF文件中指定“OPEN=autorun.exe autorun.hta”即可。


  如果ShellExecute()函数返回错误,autorun.exe在资源管理器中打开CD根目录。


  下面就是AUTORUN.EXE的源代码,用VC ++ 6.0编译只有36K(可以使用其他任何Windows的C编译器):


#include

int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
HINSTANCE result;
// 启动命令行指定的文件
result = ShellExecute(NULL, “open”, lpCmdLine, NULL, NULL, SW_SHOWNORMAL);

// 检查结果
if ((int)result <= 32)
{
// 运行HTA文件出现错误,可能是由于
// 该机器上没有IE 5或更高版本
// 打开资源管理器,显示CD内容
ShellExecute(NULL, “explore”, “”, NULL, NULL, SW_SHOWNORMAL);
return 1;
}
else
{
// 启动成功
return 0;
}
}


三、常见的任务


  除了显示用户界面、与用户交互以外,CD启动器可能需要执行的任务还包括:


  1、启动一个Windows Installer的安装程序(MSI)。假设安装程序是setup.msi,用VBScript实现的代码如下:


set msi = CreateObject( “WindowsInstaller.Installer” )


msi.InstallProduct(“setup.msi”)


set msi = nothing


  2、启动一个EXE文件。参见本文后面的例子。


  3、读取注册表内容。


  有时候需要检查目标机器上是否已经安装了必要的支持软件,这可以通过检查注册表中是否有相应的ProgID来实现。以Access 2002为例,它的ProgID是Access.Application.10。下面是检查目标系统上是否已经有Access 2002的VBScript代码:


On Error Resume Next
set wscript = CreateObject(“WScript.Shell”)
if IsNull(wscript.regRead ( “HKCR\Access.Application.10\clsid\” )) then
msAccessDetect.InnerText = “不能找到Access 2002。你需要安装Access 2000才能运行本软件。”
else
msAccessDetect.InnerText = “已找到Access 2002。”
end if
set wscript = Nothing


  如果用户禁止运行脚本(在浏览器选项中选择了禁用脚本选项),会出现什么样的情形呢?我试验了一下,什么异常也没有出现。看来HTML应用忽略了Internet安全设置,因为HTML应用被视为“本地”应用,不受Internet安全设置的限制。


四、应用实例


  图一是一个CD启动器的实例。窗口布局用HTML代码实现。主要包括:用背景图片把整个窗口分成左右两大区域,左边上方是待安装的软件名称(“工资软件 Access版”),左边下方是一个广告。右边是主显示区域,显示内容由VBScript脚本更新。



图一


  HTML应用的编写方式与编写HTML页面很相似,但扩展名要改为.hta。HTML应用允许通过HTA:Application标记控制应用的行为,这个标记必须在之内,例如,下面的HTA:Application声明了HTML应用的名称,关闭了最大化、最小化按钮,关闭了浏览器的滚动条:



欢迎
MAXIMIZEBUTTON=”no” MINIMIZEBUTTON=”no”
SINGLEINSTANCE=”yes” SCROLL=”no” />


  脚本的主要任务是检查安装环境是否符合要求并给出相应的提示,启动主安装程序(setup.exe)或执行安装任务(复制文件,访问注册表写入相关信息等),当setup.exe返回时报告安装结果。如下所示:





欢迎使用


系统检查:




已检查所有的安装条件









标签:

HTML启动应用
作者

dawei

【声明】:第七手机网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

关注我
其他文章
上一个

中文网页制作中段落缩进的方法

下一个

IE 6.0安全使用技巧

广告

最新文章

  • 5G新纪元!三星Galaxy S26+极速领航 2026年7月25日
  • iPhone 17 5G新纪元,手机达人必看速览 2026年7月25日
  • 华为nova 15 Ultra:5G先锋,畅享极速通讯新体验 2026年7月25日
  • 荣耀Magic8 Pro:5G智联,畅享极速未来 2026年7月25日
  • Xiaomi 17 Pro Max:5G先锋,通信新纪元 2026年7月25日

广告

云标签

5G Galaxy iPhone iQOO OPPO Pro Realme Redmi vivo 一加 三星 中国 京东 人工智能 体验 全球 区块 华为 发布 小米 微软 怎么 性能 手机 技术 数智网 新机 旗舰 智能 智能家居 曝光 机器人 正式 游戏 科技 系列 美国 芯片 苹果 荣耀 谷歌 运营商 骁龙 高通 魅族

广告

友情链接:155手机网 151手机网 185手机网

第七手机网

大型手机资讯类网站! https://www.7shouji.com

Copyright 2026 — 第七手机网. All rights reserved.