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

标签 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>

最佳答案

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

如果您在 Windows 上,并且真的想从 HTML 页面启动可执行文件,那么请考虑使用 HTA (example)。

== 编辑 ==

我刚刚意识到我上面提到的示例显示了一种直接从浏览器启动程序 (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>

您会收到警告,但在单击"is"后,记事本将启动。

关于c++ - 如何通过单击 HTML 表单按钮在本地运行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13910135/

相关文章:

c - 使用 strtok 在 C 中拆分字符串

c - 这个解析器设计模式叫什么?使用包含关键字和函数指针的结构数组的解析器?

php - <div> 之间的差距

c++ - 如何从 c++ 中的 rosettacode 调用这个 Xiaolin Wu 的线算法

c++ - 包含 2 个头文件时类型重定义错误

c++ - 将 C++ 共享库链接到 C 程序时如何避免错误

javascript - 为什么 Safari 或 Firefox 无法处理来自 MediaElementSource 的音频数据?

Android 从 html 获取 xml

c++ - 使用 clang 捕获设置但未使用的参数

c++ - 启动失败没有二进制文件 - gcc with eclipse