如何将一个html文件打包成一个exe文件?有哪些方法可以实现?

如何将一个html文件打包成一个exe文件?有哪些方法可以实现?,第1张

这里介绍一种简单的方法,利用node的electron打包html为exe文件,非常简单方便,下面我简单介绍一下实现过程,主要内容如下:

1.下载安装node,这个直接到官网上下载就行,选择适合自己系统的版本就行,如下:

安装完成后,我们可以打开cmd窗口,输入命令“node-v”,如果显示出node的版本,则证明安装成功,如下(我的是早期的版本):

2.下载安装electron和electron-packager包,打包程序的时候要用到这2个包,这个直接在cmd窗口使用命令“npminstallelectronelectron-packager”就行,如下,安装的过程可能需要等待一会儿:

3.安装成功后,我们就可以利用electron打包html文件为exe文件了,主要步骤如下:

为了更好的说明问题,这里我新建了一个index.html文件,主要内容如下,很简单,后面的打包就是打包这个html文件:

接着我歼袭们新建一个文件夹,随便命名都可以,我这里命名是package,将刚才的index.html文件拖进去,同时新建一个package.json文件和main.js文件,目录结构如下:

其中,package.json用于指明打包基本信息,main.js用于指明打包详细配置,内容如下:

package.json文件内容,name为应用名称,version为版本,main为前面的main.js:

main.js文件内容,这里可以根据自己需求进行设置,网上资料很多,可以搜一下,我的配置如下(简单配置)氏肆兄:

最后,就是打包html文件了,先在cmd窗口切换命令到打包文件夹,即package目录,接着直接输入命令“electron-packager.Hello--win--outHelloApp--arch=x64--electron-version=3.0.10--overwrite”就能自行打包,这里也可以自行配置,设置相关参数,其中,.代表打包当前雹尺目录,Hello为exe应用名称,--out为打包输出的文件夹,--arch为应用位数(64位或32位),--electron-version为electron版本,--overwrite为重写,截图如下,成功打包:

接着在HelloApp目录下的Hello-win32-x64中就能找到打包的exe应用Hello.exe,如下:

双击就能直接运行打包好的exe文件:

至此,我们就完成了将html文件打包成exe文件。总的来说,整个过程不难,就是有些繁琐,需要配置相关参数和文件,不过,只要你熟悉一下相关示例和参数,多练习一下,很快就能掌握的,当然,你也可以利用nw.js将html文件打包成exe应用,也可以,我以前也详细回答过,网上也有相关资料和教程,感兴趣的可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

打开HTML文件要用IE 然后这个文件被IE打开后

页面上显示的几个类似桌面快捷方式的图标或者超链接样子的字体,然后点击其中一个,就会启动一个本地的程序

给你个例子 你回去研究吧

用HTML应用启动CD

本文介绍一种用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 <windows.h>

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实现的代码如下:

作者:222.183.164.*2005-4-13 09:46 回复此发言

--------------------------------------------------------------------------------

2 用HTML应用启动CD

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标记控制应用的行为,这个标记必须在<HEAD>之内,例如,下面的HTA:Application声明了HTML应用的名称,关闭了最大化、最小化按钮,关闭了浏览器的滚动条:

<HEAD>

<TITLE>欢迎</TITLE>

<HTA:APPLICATION APPLICATIONNAME="CD Launcher"

MAXIMIZEBUTTON="no" MINIMIZEBUTTON="no"

SINGLEINSTANCE="yes" SCROLL="no" />

</HEAD>

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

<BODY BACKGROUND="WinBack.gif">

<!-- 播放声音文件,窗口布局,如显示左上角图形、左下角广告、右下角“关闭”链接等,略... -->

<!-- 以下为主显示区域 -->

<DIV ID="mainClientArea" STYLE="position: absolutetop: 30pxleft: 170pxwidth: 400pxFONT-SIZE: 10pt">欢迎使用

<P>

<B>系统检查:</B>

<DIV ID="msAccessDetect" STYLE="position: relativetop: 15px" ></DIV>

<HR STYLE="position: absolutetop: 150left: 0px" />

<DIV ID="Install" STYLE="position: absolutetop: 160pxleft: 0px" >

已检查所有的安装条件 <BR/>

<BUTTON ID="cmdInstall" STYLE="position: relativetop: 20left: 140px">开始安装</BUTTON>

</DIV>

</P>

</DIV>

<SCRIPT LANGUAGE="VBScript">

' 下面的代码在启动时运行

Call Main

Sub Main

Dim wscript

Const HEIGHT = 600

Const WIDTH = 400

' 调整窗口大小和位置

window.resizeTo HEIGHT, WIDTH

window.moveTo (screen.width - HEIGHT) / 2, (screen.height - WIDTH) / 2

' 检查Access是否已经安装,略...

End Sub

Function CheckInstallResult (lngReturnValue)

' 根据指定的返回值确定要返回的文字信息

select case lngReturnValue

case 0:

CheckInstallResult = "安装成功。"

' 其他检查条件 ...

case else

CheckInstallResult = "安装程序返回错误代码" &lngReturnValue &". "

end select

End Function

</SCRIPT>

<SCRIPT FOR="cmdInstall" EVENT="onclick" LANGUAGE="VBScript">

Dim objShell

Dim lngReturn

on error resume next

set objShell = CreateObject( "WScript.Shell" )

' 调用主安装程序

lngReturn = objShell.Run ("setup.exe", 4, 1)

if Err.number <>0 then

Install.innerText = "错误: " &Err.Description &Err.number

else

Install.innerText = CheckInstallResult(lngReturn)

end if

set objShell = Nothing

</SCRIPT>

</BODY>

http://www.onlinedown.net/soft/26489.htm

Html到Txt文件转换器 3.0

http://www.onlinedown.net/soft/15973.htm

ABC Amber CHM Converter 6.03

ABC Amber CHM Converter 是一个强大的文档处理工具,程序可以帮助你批量的将CHM电子文档转换为PDF,RTF,HTML,DOC,TXT,MCW等29种电子文档格式,并内置了对近50种语言的支持,包括对指罩简体中文/繁体中文的支持,另外程序还支持直接慎逗禅对转换后的PDF电子文档宽尘进行40/128 bits加密的功能!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8220584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存