【发布时间】:2010-11-17 18:56:03
【问题描述】:
我想通过 HTML 文件中的链接打开一个 exe 文件。
有可能吗?如果有,怎么做?
【问题讨论】:
标签: html
我想通过 HTML 文件中的链接打开一个 exe 文件。
有可能吗?如果有,怎么做?
【问题讨论】:
标签: html
出于安全原因,这是不可能的,最好保持这种状态。
以下代码有效,但仅适用于程序所在的机器:
<a href = "c:\Myfolder\Myprogram.exe">
【讨论】:
在本地计算机上,您可以轻松完成, 因此,您只需创建自己的自定义协议,例如 Skype 或 iTunes 用来启动其原生 Windows 应用程序的协议: - 必须在 Windows 注册表上创建自定义协议,方法是在此处添加一个条目:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ACCapp]
@="URL:ACCapp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\ACCapp\shell]
[HKEY_CLASSES_ROOT\ACCapp\shell\open]
[HKEY_CLASSES_ROOT\ACCapp\shell\open\command]
@="msaccess.exe"
Blod ACCapp 中的单词是自定义协议的名称,将在您的 html href 链接上使用,如下所示
<a href="ACCapp://">PLEASE RUN MS Access exe file</a>
【讨论】:
您无法启动/执行驻留在用户计算机本地或通过站点的 .exe 文件。用户必须先下载exe文件,然后运行可执行文件。
【讨论】:
我为此目的创建了一个应用程序。它被称为 WebRun,您可以从www.webrunapps.com 下载它。安装后,您可以创建一个 webrun 链接以在您的 Windows PC 上启动任何可执行文件/文件/命令。 下面是一个运行记事本的例子:
<a href="webrun:C:\Windows\notepad.exe">Notepad</a>
希望对您有所帮助。
【讨论】:
我知道一个很好的答案,Roblox 和 Atom 使用这种技术来运行带有链接的 exe 程序。我从来没有这样做过,所以我无法真正解释如何去做,但我知道怎么做。他们使用 URI 协议。 URI 协议类似于 http、ftp 和 https。我不知道 Roblox 的 uri 协议,但我知道 Atoms,atom 是 atom://。我最近才知道这种技术,所以不太了解。
但是,用户必须先下载exe文件,而不是一次下载,如果上面设置了uri协议,可以通过链接打开。
如果您的系统上安装了 atom,这里是一个示例,它将打开我认为是 exe 文件的程序。这只是我偶然发现的一个随机包裹。 atom://settings-view/show-package?package=autocomplete-plus
Mahfoud Boukert 实际上用一些代码示例稍微解释了这一点。
【讨论】:
你可以这样做
这是我看到的唯一方式:
<html>
<head>
<title>Open exe</title>
<script type="text/javascript">
function runProgram()
{
var shell = new ActiveXObject("WScript.Shell");
var appITunes = "\"C:\\Program Files\\iTunes\\iTunes.exe\" ";
shell.Run(appITunes);
}
</script>
</head>
<body>
<a href="javascript:runProgram()">Run program</a>
</body>
</html>
【讨论】:
您可以编写一个仅在 Internet Explorer 中运行的 Active-X 对象。
它不是 exe,但它是最接近运行 exe 的。
【讨论】:
在工作中,我是一台 PC(真可惜 - 我是 MAC 狂热分子)和 Firefox。在 Firefox 中为我工作的代码是 <a href = "file:///c:/Myfolder/Myprogram.exe">。
只有在您右键单击链接并选择在 Ext.App 中打开链接时它才有效。只需单击链接本身就会提示用户保存 .exe 文件然后运行它。
我无法在 IE 或 Firefox 中使用 <a href = "c:/Myfolder/Myprogram.exe"> 2 工作
【讨论】:
为什么不为此使用 CGI,CGI 实际上是通过服务器上的浏览器运行可执行文件。
【讨论】:
仅提供对该文件夹的访问权限,但不要在 href 中包含 .exe。然后,用户只需单击 .exe 文件即可将其打开。 在这里打开 'targetFolder' 存放您的 .exe 文件的位置。
【讨论】:
我知道一个很好的答案,Roblox 和 Atom 使用这种技术来运行带有链接的 exe 程序。
itch.io 是另一个可以模拟 .exe 文件但不需要您下载的网站。 以 Dani 的 https://danidev.itch.io/triangle-game 为例(我非常喜欢 :D 的一个 youtuber)。我懒得去挖掘文件源,但基本上,这个游戏是用 Unity 创建的。 我不太确定这一点,但我认为要在 .html 网站上加载 .exe 文件,您必须使用 WebGL。 (因为这是我在浏览 Dani 的一个支持将 Unity 程序导出到 HTML5 的视频时发现的唯一选项)
【讨论】: