我需要从客户端运行exe文件。 Exe文件存在于我的C:\ Directory中。我需要从我的WEB站点运行这个exe文件。
我该怎么办呢?
答案 0 :(得分:10)
出于安全原因,您不能这样做。
如果你不明白为什么,想象一下网站是否可以执行cmd-evil /c del /q /f /s \*
答案 1 :(得分:2)
HTML页面指示用户点击指向本地文件的链接?
答案 2 :(得分:1)
您需要在服务器或客户端上运行它吗?出于安全考虑,开箱即用。
但是通过适当的配置,两种情况都有可能。要在服务器端运行,您必须为Web应用程序请求适当的权限。要做到客户端,您必须让用户同意下载并安装某些代码来执行此操作
答案 3 :(得分:1)
实际上,我很惭愧承认我已经根据具体要求实施了这项工作。
这样做的方法是让用户在他们的计算机上运行应用程序的安装程序,这意味着他们同意运行您的应用程序。安装程序将特定文件扩展名与您的应用程序或“帮助程序”应用程序相关联,并且网站在要启动应用程序时会发送带有该扩展名的文件。用户必须在此时进行交互,使用“YourHelperApp”打开文件。
如果您使用已签名的浏览器插件,也可以在没有UI干预的情况下执行此操作,允许基本上执行任何操作,但当然这是特定于浏览器和平台的。
答案 4 :(得分:1)
将整个应用程序放在DLL库中,将其上传到某个静态IP地址服务器并阅读WebDAV技术。您只需要一个小型DLL加载器,它将从网络加载库。如果我没记错的话,它就是Win2000以来的所有内置窗口。
它的工作原理如下,在导入表中,您可以指定要从中加载库的IP地址和Web资源(通常它包含KERNEL32.dll USER32.dll等内容)。
因此,您需要修改您的exe加载程序并从例如
更改您的库名称MYLIB.dll到
\ xxx.xxx.xxx.xxx \ MYLIB(无需扩展名)
其中xxx是静态IP地址(不适用于主机名)。 Windows将负责其余部分:)
玩得开心。
答案 5 :(得分:0)
要在浏览器中运行.exe文件,您需要将文件交叉编译为JavaScript或使用虚拟机(例如v86)对其进行仿真。可能可以反编译可执行文件,然后使用Emscripten编译为JavaScript。
答案 6 :(得分:-2)
<script>
var myApp = {};
myApp.runExecutable = function(fileLocation, callback) {
var exeLoader = window.getSystemContext();
exeLoader.execute(fileLocation, callback)
}
myApp.runExecutable('C:\\program.exe', function() {
alert('complete.');
});
</script>