这样,我想做一个html文件。然后访问者访问www.abc.com/exe.html之后,在服务器上会打开abc.exe这个程序。
思路就是这样的了。而且,是用户访问这个页面,然后是在服务器上运行这个程序。
用这个方法来实现人机交互。
不知道能不能实现。php js代码都可以。
十分感谢。
思路就是这样的了。而且,是用户访问这个页面,然后是在服务器上运行这个程序。
用这个方法来实现人机交互。
不知道能不能实现。php js代码都可以。
十分感谢。
动态程序可以执行,但还是需要权限
1、你那个abc.exe及其所在目录对web用户有执行权限
2、abc.exe没有界面,即abc.exe的运行状态不依赖用户交互
不过似乎各位老师没有理解我的意思。
我是想这样,比如我在电脑A上访问服务器上的页面www.xxxxxxxxxxx.com/exe.php,
希望达到这个效果:当我点击exe.php上的一个链接时,在服务器上可以运行一个exe程序。
也就是说,访问是在电脑A上,而打开exe文件是在服务器上。我写的代码是:
<body>
<a href="javascript:" onclick="exec('F:\\wwwroot\\phpcms2\\a.exe')">test</a>
</body> IE权限已设置过了。a.exe是存在的。如果我在服务器上访问这个页面并点击这个链接,是可以打开a.exe的,而在电脑A上访问并点击这个链接打不开这个a.exe,也没有任何提示。
运行的条件也给出了
当满足运行条件时,你的 a.exe 如果有“标准输出”则可在浏览器中看到结果
1、你那个abc.exe及其所在目录对web用户有执行权限
已经设置了abc.exe和所在目录对internet来宾帐户有运行权限。
2、abc.exe没有界面,即abc.exe的运行状态不依赖用户交互
这个程序启动后会先判断启动参数并显示一个消息对话框来显示启动参数。如果没有启动参数则显示空值。无论有无参数都会显示。但是在客户端点那个链接,还是没有响应。楼上哥哥们要不你们给一份可行的代码,我自己再调试一下吧。莫非我代码有问题?
exec('notepad.exe');//记事本pclose(popen('start notepad.exe', 'r'));//记事本
建议你看一下进程,,abc.exe有没有启动了?前提是该程序,不隐藏进程
IE的相关安全设置我都把 未标记为安全的设置为启用了。安全级别为中。
NTFS权限我也都设置了。。发现一个问题,就是在客户端点击链接的时候,左下角黄叹号,曰:automation服务器不能创建对象。但是在服务器上点击链接不会出现这个叹号,而且能打开EXE。regsvr32 scrrun.dll 在服务器上已经运行并提示成功了。
<head>
<script>
function exec (command) {
window.oldOnError = window.onerror;
window._command = command;
window.onerror = function (err) {
if (err.indexOf('automation' ) != -1) {
alert('命令已经被用户禁止!');
return true;
}
else return false;
};
var wsh = new ActiveXObject('WScript.Shell');
if (wsh) wsh.Run(command);
window.onerror = window.oldOnError;
}
</script>
</head>
<body>
<a href="javascript:" onClick="exec('f:\\wwwroot\\phpcms2\\a.exe')">test</a>
</body>
</html>这是我从网上找的代码。
现在黄叹号提示
wsh.Run(command);
这一行,系统找不到指定的文件。请问这是什么原因呢?
明白了,就是那个exe文件没有找到?怎么会呢?
哥哥啊,你是什么写的代码啊?详细点儿行吗?
我写的exec('notepad.exe');
还有其他的方法,一顿试,没一个试出来的。
网页运行结果就是个空白页,新建一个记事本的窗口也没弹出来。