如何通过单击HTML表单按钮在本地运行程序?

时间:2012-12-17 07:44:53

标签: c++ html c web-applications cgi

我有一个名为“main”的已编译C ++程序 我想点击网页上的按钮来运行它,而不是从终端运行程序 我该怎么做呢?


在此示例中,浏览器下载程序而不是运行程序。

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>title</title>
</head>
<body>
    <form name="input" action="main" method="post">
        <input type="submit" value="Run Program">
    </form>
</body>
</html>

4 个答案:

答案 0 :(得分:4)

如果没有本地运行的Web服务器,则无法执行此操作。通过点击网页直接启动程序会导致严重的安全问题。

如果您使用的是Windows,并且确实想要从HTML网页启动可执行文件,请考虑使用HTAexample)。

==编辑==

我刚刚意识到我上面提到的示例显示了一种直接从浏览器启动程序(notepad.exe)的方法。将此代码保存为test.html,在Internet Explorer中将其打开,然后单击按钮:

<html> 
<head> 
<script language="VBScript"> 
    Sub RunProgram 
        Set objShell = CreateObject("Wscript.Shell")
        objShell.Run "notepad.exe"
    End Sub
</script> 
</head> 
<body> 
<button onclick="RunProgram">Run Program</button> <p>
</body> 
</html>

您将收到警告,但在点击&#34;是&#34;后,记事本将会启动。

答案 1 :(得分:2)

使用JavaScript:

<script type="text/javascript" language="javascript">
        function RunFile() {
        WshShell = new ActiveXObject("WScript.Shell");
        WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
        }
>

答案 2 :(得分:0)

如果您打算仅自行使用此功能,请执行以下操作。创建一个.run文件,其中包含要运行的程序的说明。它可能包含以下值:

D:\Programs\MyProgram.exe
Parameter1
Parameter2
Parameter3

然后创建一个简单的程序(所谓的运行程序),它读取一个运行文件,解析它并通过CreateProcess()调用其内容中描述的程序。将其与.run文件关联。最后在您的网页中创建一个链接到.run文件 - 这样您的跑步者将执行其内容。这不需要本地计算机上的Web服务器,但此解决方案不可扩展(例如,除非注册跑步者,否则您的客户端将无法使用它)并且不太安全。它不应该引发任何系统警告,也不要求HTML格式的嵌入式脚本。

答案 3 :(得分:0)

你在你的网络服务器中使用phpsh 你适应pspsh直接运行你的/你的程序 而不是返回终端提示 所以http:// webserver / main是phpsh脚本 直接运行主程序 另外你必须相应地设置你的路径 apache用户有权访问运行应用程序

另一种选择是将c程序写为cgi 并且表格已由cgi

处理