从客户端运行EXE

时间:2009-11-24 17:09:51

标签: client exe

我需要从客户端运行exe文件。 Exe文件存在于我的C:\ Directory中。我需要从我的WEB站点运行这个exe文件。

我该怎么办呢?

7 个答案:

答案 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>