Ahm*_*med 6 javascript executable batch-file client-side
如何在客户端运行批处理文件?一个exe文件?只是在客户端打开预装程序?
[编辑]
关于ActiveX,我试过了
var activeXObj = new ActiveXObject("Shell.Application");
activeXObj.ShellExecute("C:\\WINDOWS\\NOTEPAD.EXE", "", "", "open", "1");
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有什么建议?
pjc*_*c50 35
来自Javascript?你不能.这是一个安全风险.想一想 - 您希望每个网站都能在您的PC上运行程序吗?
小智 8
<script language="javascript" type="text/javascript">
function RunEXE(prog) {
var oShell = new ActiveXObject("WScript.Shell");
oShell.Run('"' + prog + '"', 1);
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果您真的可以控制客户端,那么您可能希望在客户端安装一些远程守护程序服务,如SSH.
PS.但是,通过"服务器代码"调用它.
更新:
不要气馁.你绝对可以安全地做到这一点.
首先,您需要在客户端上提供一个守护程序服务,该服务将处理调用您的应用程序的任务.就个人而言,我宁愿使用C++或Delphi构建简单的rpc-server作为windows-service; 但许多其他类型的服务器也可以完成这项工作(SSH,Apache,Telnet)
然后制作一个网页,允许用户通过适当的身份验证"注册"他们的服务来调用该服务(密码,安全密钥)
如果要在已注册的客户端上从Web页面调用应用程序,请对服务器进行ajax调用(xmlhttprequest).
服务器应使用注册信息验证请求的IP地址.
然后使用注册信息向客户端进行远程命令调用.
可能存在一些网络情况,该方案可能无效.但是,如果您真的可以控制执行环境,那么总会有一些解决方法.