代码之家  ›  专栏  ›  技术社区  ›  Mohammad Dayyan

通过HTML文件中的链接打开exe文件?

  •  9
  • Mohammad Dayyan  · 技术社区  · 14 年前

    我想通过HTML文件中的链接打开一个exe文件。

    有可能吗?如果是,怎么做?

    9 回复  |  直到 6 年前
        1
  •  7
  •   RDL    14 年前

    不能启动/执行位于用户计算机本地或通过站点的.exe文件。用户必须先下载exe文件,然后运行可执行文件。

        2
  •  6
  •   chenatu    9 年前

    你可以这么做

    这是我唯一看到的:

    <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>
    
        3
  •  4
  •   Wouter Dorgelo voy    14 年前

    出于安全原因,这是不可能的,也许最好还是这样。

    下面的代码工作,但仅在程序存在的机器上:

    <a href = "c:\Myfolder\Myprogram.exe">
    
        4
  •  4
  •   Mahfoud Boukert    6 年前

    在本地计算机上,您可以轻松地进行操作, 因此,您只需创建自己的自定义协议,如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中的单词 账户应用程序 是将在html href链接上使用的自定义协议的名称,如下所示

    <a href="ACCapp://">PLEASE RUN MS Access exe file</a>
    除非您添加注册表项,否则此链接不会运行。 注意:不要限制你的想像力,只要找一个你能找到的。希望有帮助
        5
  •  3
  •   user6726user6726    14 年前

    您可以编写只在internet explorer中运行的Active-X对象。

    它不是一个可执行文件,但它是最接近运行一个可执行文件。

        6
  •  2
  •   kouts    10 年前

    我为此创建了一个应用程序。它叫做WebRun,你可以从 www.webrunapps.com . 安装后,您可以创建一个webrun链接,以便在Windows PC上启动任何可执行文件/文件/命令。 下面是运行记事本的示例:

    <a href="webrun:C:\Windows\notepad.exe">Notepad</a>
    

    希望能有所帮助。

        7
  •  1
  •   Shog9    11 年前

    在工作中,我是个人电脑(我是个MAC迷)和火狐。在Firefox中对我有效的代码和链接只在内部有效,是 <a href = "file:///c:/Myfolder/Myprogram.exe"> .

    只有在右键单击链接并选择“在Ext.App中打开链接”时,它才起作用。只需单击链接本身,就会提示用户保存.exe文件,然后运行它。

    我无法在IE或Firefox中使用 <a href = "c:/Myfolder/Myprogram.exe">

        8
  •  0
  •   Anshul matcheek    10 年前

    为什么不使用CGI来实现这个目的,CGI实际上是通过服务器上的浏览器运行可执行文件的。

        9
  •  0
  •   AKI    6 年前

    只需提供对文件夹的访问权限,但不要在href中包含.exe。用户只需单击.exe文件即可打开它。 在这里打开 其中“targetFolder”保存您的.exe文件。

        10
  •  0
  •   Jonathan J. Pecany Wright    5 年前

    我知道一个很好的答案,Roblox和Atom使用这种技术运行带有链接的exe程序。我从来没有这样做过,所以我不能解释怎么做,但我知道怎么做。他们使用URI协议。URI协议类似于http、ftp和https。我不知道Roblox的uri协议,但我知道atom s,atom是atom://。我最近刚学过这种技术,所以对它了解不多。

    除此之外,用户必须先下载exe文件,多次下载,如果在其上设置了uri协议,则可以通过链接将其打开。

    如果您的系统上安装了atom,下面是一个示例,它将打开程序,我相信这是一个exe文件。这只是一个随机的包,我绊倒了一个债券。 atom://settings-view/show-package?包=自动完成加

    Mahfoud Boukert用一些代码示例解释了这一点。

        11
  •  0
  •   Dávid Laczkó    5 年前

    我知道一个很好的答案,Roblox和Atom使用这种技术运行带有链接的exe程序。

    痒.io 是另一个可以模拟.exe文件但不需要您下载的网站。 比如说, https://danidev.itch.io/triangle-game ,作者是丹尼(我很喜欢的年轻人:D)。我懒得去挖掘文件源,但基本上,这个游戏是用 团结 . 我不太确定,但我认为要在.html网站上加载.exe文件,必须使用WebGL。(因为这是我在翻阅丹尼支持导出 团结 程序到 HTML5 )