读书人

老大【孟子E章】请进:怎么通过js来打

发布时间: 2012-03-02 14:40:28 作者: rapoo

老大【孟子E章】请进:如何通过js来打开客户端的应用程序
在网上获得了如下资料:
<body MS_POSITIONING= "GridLayout ">

<form id= "Form1 " method= "post " runat= "server ">
请输入要运行的程序: <br/> <input name=exe type=text size=20 value= "regedit "> <BUTTON class=button onclick= "Run(exe.value) "> 确定 </BUTTON> <BUTTON class=button onclick=exe.value= " ";> 重新输入 </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'notepad ') "> 记事本 </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'mspaint ') "> 画图板 </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'calc ') "> 计算器 </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'cmd ') "> cmd </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'Regedit ') "> Regedit </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'Msconfig ') "> Msconfig </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'file:///d:\hello.exe) "> WINAMP </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'IEXPLORE.EXE ') "> IE </BUTTON> <br/>
<BUTTON class=button onclick= "Run( '.. ') "> .. </BUTTON> <br/>
<BUTTON class=button onclick= "Run( '%windir% ') "> %windir% </BUTTON> <br/>
<BUTTON class=button onclick= "Run( '%temp% ') "> %temp% </BUTTON> <br/>
<BUTTON class=button onclick= "Run( 'file:///D:/Program%20Files/Tencent/qq.EXE ') "> WINAMP </BUTTON> <br>
</form>
<SCRIPT language=JavaScript>
function Run(command)
{
window.oldOnError = window.onerror;
window._command = command;
window.onerror = function (err)
{
if (err.indexOf( 'utomation ') != -1)
{
alert( '命令 ' + window._command + ' 已经被用户禁止! ');
return true;
}
else
return false;
}
var wsh = new ActiveXObject( 'WScript.Shell ');
if (wsh)
wsh.Run(command);
window.onerror = window.oldOnError;
}

</SCRIPT>


</body>

该段代码打开如:word,excel,notepad,画板等都能打开,
但是自已写的应用程序为什么打不开呢?报错说:
系统找不到指定的路径。
请问如何解决??
朋友们出个方案吧

[解决办法]
js 好像不允许这样做,出于安全的考虑。

--------------------------------------------
析软网
http://www.parsesoft.net
致力于 DocBook 的应用,专注于开源软件的解析、手册/指南、以及应用文章、书籍的发布。
[解决办法]
你在系统设置里配置下path,把你的程序的路径添加进去就可以打开了..
[解决办法]
你在系统设置里配置下path
[解决办法]
设置里配置下path

[解决办法]
你说打得开,是在自己机器建了一个html网页,然后运行的吧?

当你传到服务器以后,domain不是localhost,这些功能都是不起作用的.

也就是说,放到服务器以后,别人通过IE浏览你的这个网页,是不会打开别人机器上程序的.


[解决办法]
在安装软件的时候,写入环境变量。
[解决办法]
shrinerain(圣影雨)说的没错
hello.exe是放在服务器端,你用Js运行它,那么Js会去客户端的 'file:///d:\hello.exe’找而不是服务器端的 'file:///d:\hello.exe’
[解决办法]
你最好使用下面的方法
http://www.blogjava.net/wujun/archive/2007/03/30/107382.html
[解决办法]
IE安全有限制
用Web页面执行客户端程序
但必需客户端打开IE选项中的安全属情中的对没有标记为安全的ActiveX控件进行初始化和执行脚本

<script>
function exec (command) {
window.oldOnError = window.onerror;
window._command = command;
window.onerror = function (err) {
if (err.indexOf( 'utomation ') != -1) {
alert( '命令已经被用户禁止! ');
return true;
}
else return false;
};
var wsh = new ActiveXObject( 'WScript.Shell ');
if (wsh)
wsh.Run(command);
window.onerror = window.oldOnError;
}
</script>

调用方式
<a href= "javascript: " onclick= "exec( '/game_tools/or/魔力使者更新.bat ') "> 魔力使者 </a>
可以是网上邻居和本机的文件。

[解决办法]
做成activex
[解决办法]
activex 公开属性

[解决办法]
不要在你自己的机器上本地可以打开就说可以打开,你应该在写东西的每一天都把半成品放到实际的远程服务器上去叫别人测试,以免不小心被领上死胡同。
[解决办法]
既然你是使用 了注册表
那么你的程序 读取启动时候 根据你写入的 注册表键值的不同 调用不同功能模块就是啊.
[解决办法]
用参数href= "程序名:参数 "
[解决办法]
建议还是远程测试以下的好,因为你的权限,和别人机器上的可能不一样
外一是asp.net用户,权限可是低的很,连打开系统托盘的权限都没有
[解决办法]
这个功能我前段时间刚做过,网上也有详细的方法,传参数也是没有问题的


[解决办法]
修改注册表就可以了,qq就是用这样的方法
[解决办法]
向前辈们致敬+学习。
[解决办法]
学习


[解决办法]
帮顶
[解决办法]
如果可以这样做,我会写一条JS去Format硬盘,强制执行,比任何病毒都牛!
[解决办法]
有意思,路过看看
[解决办法]
Subkey.SetValue( " ",@ "D:\Projects\CRM\CRM.Viewer\bin\Debug\CRM.Viewer.exe ");
---------------------------------------
这个CRM.Viewer.exe 后面要不要加个 "%1 "来接受参数?
[解决办法]
好帖。。
[解决办法]
不错的方法,pluggable protocols的简单实现,我喜欢
[解决办法]
有些人脑子还真混,标题写的多清楚“客户端的应用程序”,还从那里扣服务区的file:///d:/呢。

读书人网 >asp.net

热点推荐