js调用可执行性(exe)文件

转自 http://wmnmtm.blog.163.com/blog/static/382457142011814104554831/ 

js调用可执行性(exe)文件

 

<script   language="JavaScript"> 
  function   open_exe(shellp,str) 
  { 
  a=new   ActiveXObject("wscript.shell"); 
  a.run(shellp+"   "+str); 
  } 
  
  function   cq() 
  { 
  b=new   ActiveXObject("wscript.shell"); 
  b.run("rundll32.exe") 
  } 
  </script> 
  <button   onclick="open_exe('notepad.exe','c:\\ltdz1.txt')">打开notepad</button> 
  <button   onclick="open_exe('winword.exe','c:\\long.doc')">打开word</button> 
  <button   onclick="open_exe('ACDSee.exe','c:\\oaautomatic\\images\\APY.gif')">打开Acdsee</button> 
  <button   onclick="cq();">重启</button>
 
 
 ************************************************************************************************************************
 ************************************************************************************************************************
 1.0 用java调用windows系统的exe文件,比如notepad,calc之类:
public class Demo{
public static void main(String args[]){

Runtime rn=Runtime.getRuntime();
Process p=null;

try{
p=rn.exec(notepad);
}catch(Exception e){
System.out.println("Error exec notepad");
}
}
}
2.0调用其他的可执行文件,例如:自己制作的exe,或是下载安装的软件
public class Demo{
public static void main(String args[]){
Runtime rn=Runtime.getRuntime();
Process p=null;

try{
p=rn.exec("\"D:/AnyQ/AnyQ.exe\"");
}catch(Exception e){
System.out.println("Error exec AnyQ");
}
}
}
 
##########################################################################################################################
##########################################################################################################################

fscommand调用exe文件详解
作者:龙族酷少   类型:转载   来源:闪吧  很多朋友在贴子里常常问:为什么我的FLASH无法调用本地机器里的EXE文件呢,可是AS写得却没有错误,我是这样写的啊

 

on(release){
fscommand("exec", "***.exe");
}
是的,粗粗看来,确实在AS中没有任何错误,我一开始的时候也是这个模式,可是就是调用不了文件,首先,我们来了解一下fscommand的几个命令的意思

fscommand(cmd_string, arg_string) 执行主机端指令。cmd_string指定所要执行的指令名,可为FlashPlayer的
指令或浏览器javascript函数。arg_string声明该指令所用到的参数。
FlashPlayer的指令有(只能在独立播放器时使用):
"fullscreen" 是否全屏播放,参数为true或false
"allowscale" 是否允许通过拉伸窗口缩放影片,参数为true或false
"showmenu" 是否在播放器显示菜单,参数为true或false
"trapallkeys" 是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复
"save" 隐藏属性,作用是存变量到文本文件.
视窗显示),参数为true或false。但Alt+F4系统快捷
键(关闭窗口)依然可用。
"exec" 运行arg_string所指定的文件。

以下只介绍exec命令的用法

EXEC是通过FLASH文件调用本地EXE文件的一个命令,下面我们来看图:

首先,新建一文件夹,命名为myflash

 

打开flash,在场景中添加一按钮,在AS面板中写下代码:


on (release) {
fscommand("exec", "popo.exe");
}
至于为什么要取EXE文件的名字为popo,这个在后面会解释

 

 

将刚才的flash文件保存为1.fla,另外创建一个1.swf文件

 

 

在同一文件夹下新建一文件夹,命名为fscommand,这个文件夹是放置以后要调用的EXE文件的

 

 

这时候你可以把EXE文件先放置到fscommand文件夹下了,钢材我用的popo.exe文件其实是网易泡泡的安装程序,其实是不是POPO无所谓,只要是以EXE为后醉的文件都可以

 

 

这个时候有些朋友就开始ENTER+CTRL进行测试了,可是没有反应
没错啊,我钢材写的代码也没问题啊,我的路经也没问题啊,为什么就无法调用文件呢?

其实问题在这里!
Flash MX中增强了安全性,它虽然也可以调用exe文件,但它是有条件的。

1.你的flash文件不能是swf,而应该是exe文件,比如1.exe;
2.要在1.exe同一目录中新建一命名fscommand目录,你要调用的外部可执行文件要在fscommand目录下

这句话不知道大家有没有看懂,说得通俗一点:SWF文件不能直接调用EXE文件!也就是说,只有将你钢材做好的那个带按钮想调用popo.exe的1.swf文件转换成EXE文件才可以调用popo.exe,其实也就是EXE调用EXE拉,只不过是前面的这个EXE必须是SWF转换过来的

转换方法如下:
导出exe格式
发布方法如下:
选中 File -> Publish Settings 或按ctrl+shift+F12
它默认的发布类型为HTML(.html)与Flash(.swf),
你将这两项取消,选中Windows Projectors(.exe)
即可将你的Flash文件直接发布为exe可执行文件
按ctrl+F12即可发布
若你的文件尚未保存则它会发布在你flash的安装目录中
若你的文件已保存则会发布在你的文件同一目录下
还有一种比较简便的方法是:
先用 File -> Export Movie...或按Ctrl+Alt+Shift+S 导出swf文件
再打开这个文件,通过 文件 -> 创建播放器 即可产生EXE可执行文件

你要把SWF转成这个样子:

 

 

现在打开你的1.exe,点一下中间的按钮试试看?

 

 

经过以上的步骤,你是不是自己摸索出了一点规律和失败的原因了吗?

下面我替各位总结一下以上的内容:

首先,调用EXE文件最重要的一点,必须把你的SWF文件先转换成EXE,也就是FLASH的播放器,为什么要先转换成EXE文件?我们都知道,随着MACROMEDIA公司的flash软件在全球的兴起,也带来了一股flash热潮,当然了,更多的人是用在了商业用途中,比如说做flash首页,做动画,这都是有利益驱使的,如果没有金钱,谁也不会去做(当然除了象我们这些业余爱好者除外),所以也出现了一些利用flash转空子的人,他们利用flash强大的功能在网络中进行破坏活动,使一些用户遭受了巨大的损失,其中很大的一方面就是因为fscommand命令而造成的,在flashmx推出之前,使用flash5的用户在使用这个命令的时候,都可以直接通过SWF来调用EXE文件(只要你把EXE文件放在fscommand文件夹下就行),破坏分子就是利用这个漏洞对一些网上的FLASH文件进行攻击和破坏活动,现在flashmx的推出的同时,也把AS中的此代码改成了EXE调用EXE来执行命令,从而保护了用户的安全

其次,必须把你要调用的EXE文件放在同一目录的fscommand文件下,不然flash就无法查找该文件的具体路经

另外说一下,如果你不想放在该文件夹下也可以,但是要具体写明它的位置

具体的方法如下:

开启一个外部可执行程序:扩展名.exe可以省略。具体来说,若一个exe文件(假设为another.exe)和该swf文件本身在同一个目录下,则直接键入程序文件名即可。如:
fscommand("exec","another")
否则,应写明路径。如打开IE浏览器窗口:
fscommand("exec","c:\\progra~1\\intern~1\\iexplore")
//注意DOS下对长文件(夹)名的处理形式。
下面两种情况也可以不写路径——
(1)当可执行程序是在c:\windows目录下时,可以不写路径。如调用windows的计算器,下面三种写法均可:
fscommand("exec","c:\\windows\\calc.exe")
fscommand("exec","c:\\windows\\calc")
fscommand("exec","calc")
(2)调用DOS命令也可省略路径。如下例打开MS-DOS下的Edit编辑器:
fscommand("exec","edit.com")
如果熟悉批处理文件写法,通过FSCommand->exec命令执行批处理文件可以一举多得。

当然,我个人认为,保持一个良好的习惯是必要的,所以还是复制一个EXE文件到fscommand文件夹下吧:)


############################################################################################################################
**********************&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
用Javascript网页代码直接调用计算机中的程序

网页制作的简单小技巧,用网页中的代码直接可以调用计算机中的可执行文件。

把下面代码直接放到HTML网页的<body>里面。

<SCRIPT Language="JScript">
function runcmd() {
File="cmd.exe";
WSH=new ActiveXObject("WScript.Shell");
WSH.run(File);
}
</SCRIPT>

<A href="#" onClick="runcmd(); return false;">运行 CMD.exe</A>

在这里我们创建了一个函数runcmd()直接调用计算机中的cmd.exe文件,当然如果你直接调用其它文件的话要把路径写清楚。(例:C:\\FOLDER\\SUBFOLDER\\application.exe). 上面代码我们是直接通过点击一个超级连接就可以调用可执行文件。

如果你想让访客打开你的网页就直接调用计算机中的可执行文件,那么就直接修改<body>标签就可以了!

<body onLoad="javascript:runcmd();">
注意:上面的网页当打开时会直接弹出阻止信息的!如果在Firefox中上面代码会如何呢?

 


===================================================

<SCRIPT language=JavaScript>
function Run(strPath) {
  exe.value=strPath;
  try {
    var objShell = new ActiveXObject("wscript.shell");
    objShell.Run(strPath); objShell = null;
  }
  catch (e){
    alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')
  }
}
</SCRIPT>

 


请输入要运行的程序:<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>
<BUTTON class=button onclick="Run('notepad')">记事本</BUTTON>
<BUTTON class=button onclick="Run('mspaint')">画图板</BUTTON>
<BUTTON class=button onclick="Run('calc')">计算器</BUTTON>
<BUTTON class=button onclick="Run('cmd')">cmd</BUTTON>
<BUTTON class=button onclick="Run('Regedit')">Regedit</BUTTON>
<BUTTON class=button onclick="Run('Msconfig')">Msconfig</BUTTON>
<BUTTON class=button onclick="Run('file:///D:/Program%20Files/Winamp/WINAMP.EXE')">WINAMP</BUTTON>
<BUTTON class=button onclick="Run('IEXPLORE.EXE')">IE</BUTTON>
<BUTTON class=button onclick="Run('..')">..</BUTTON>
<BUTTON class=button onclick="Run('%windir%')">%windir%</BUTTON>
<BUTTON class=button onclick="Run('%temp%')">%temp%</BUTTON>
<BUTTON class=button onclick="Run('file:///D:/Program%20Files/Tencent/qq.EXE')">WINAMP</BUTTON>


我用脚本实现 telnet功能,代码如下
var WshShell = new ActiveXObject("Wscript.Shell");   
WshShell.Run ("cmd");
WshShell.AppActivate( "cmd.exe");
WScript.sleep(2000);
WshShell.SendKeys ('ftp ' + ip + '{ENTER}');

 

<script>
function exec (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 +"");
        wsh.AppActivate("cmd.exe");
        wsh.SendKeys ('telnet lab.am007.com 9001 {ENTER}');
        wsh=null;
  }
  window.onerror   =   window.oldOnError; 
}
</script> 
<input type="button" onclick="exec('cmd.exe')"   value=" 执行 ">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值