如何在客户端运行批处理文件?一个exe文件?只是在客户端打开预装程序?
[编辑]
关于ActiveX,我试过了
var activeXObj = new ActiveXObject("Shell.Application"); activeXObj.ShellExecute("C:\\WINDOWS\\NOTEPAD.EXE", "", "", "open", "1");
但这不起作用.有什么建议?
来自Javascript?你不能.这是一个安全风险.想一想 - 您希望每个网站都能在您的PC上运行程序吗?
你的意思是使用JavaScript通过浏览器窗口启动外部程序?你无法做到这一点!那是一个该死的安全黑洞!
如果您真的可以控制客户端,那么您可能希望在客户端安装一些远程守护程序服务,如SSH.
PS.但是,通过"服务器代码"调用它.
更新:
不要气馁.你绝对可以安全地做到这一点.
首先,您需要在客户端上提供一个守护程序服务,该服务将处理调用您的应用程序的任务.就个人而言,我宁愿使用C++或Delphi构建简单的rpc-server作为windows-service; 但许多其他类型的服务器也可以完成这项工作(SSH,Apache,Telnet)
然后制作一个网页,允许用户通过适当的身份验证"注册"他们的服务来调用该服务(密码,安全密钥)
如果要在已注册的客户端上从Web页面调用应用程序,请对服务器进行ajax调用(xmlhttprequest).
服务器应使用注册信息验证请求的IP地址.
然后使用注册信息向客户端进行远程命令调用.
可能存在一些网络情况,该方案可能无效.但是,如果您真的可以控制执行环境,那么总会有一些解决方法.
将客户端重定向到http://yourserver/batchfile.bat.在某些浏览器下,这将提示用户运行批处理文件.