在上一篇中就已经提供了一种方法,就是通过自己写OCX 给OCX 传入路径,通过OCX 启动应用程序。当然这种方法可扩展性很多,不一定是启动应用程序了。今天提供另一种比较简单的可以启动应用程序的方法,不需要编写OCX ,这个方法也是借鉴于博友的指点。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>js</title> <SCRIPT language=JavaScript> function Run(strPath) { try { var objShell = new ActiveXObject("wscript.shell"); objShell.Run(strPath); objShell = null; } catch(e){ alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确.'); alert(e.message); alert(e.description); alert(e.number) ; alert(e.name); } } </SCRIPT> </head> <!--以下是三种调用方式,onLoad(),oclick(),再就是直接写连接地址调用--> <body > <a href="#" onclick="Run('file:///D:/SE-1515/ECG WorkStation.exe')">运行EXE</a> </body> </html>
不过在之前得先注册3个动态库
注册.bat
regsvr32 c:WINDOWSsystem32scrrun.dll
regsvr32 c:WINDOWSsystem32WSHom.Ocx
regsvr32 c:WINDOWSsystem32shell32.dll
注意事项,
一定要注意这种启动路径'file:///D:/SE-1515/ECG WorkStation.exe'中间尽量不要有空格,很有可能会找不到路径,所以我当时尝试把应用程序改下名字,去掉中间的空格,结果应用程序不能正常启动了,所以还是乖乖的改回去了,这里我用了取巧的办法,到现在都在享受这我的聪明与机制,我给该应用程序创建了一个快捷方式,将快捷方式的名字改成了我想要的了。然后通过程序去这个快捷方式。哈哈,果然成功了。行如这样的 file:///D:/SE-1515/ECGWorkStation.exe.lnk