我有一个名为“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>
答案 0 :(得分:4)
如果没有本地运行的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>
您将收到警告,但在点击&#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
处理