首先通过menuBAr.xml在图形界面上添加一个图标
<separator>
<menuAction name="LanSwitchNetwork" action="invoke:com.utstar.ems.mswitch5.cm.tools.LanSwitchNetworkInvoker?local_program=C:\Program Files\BDCOM\BroadDirector\bin\startClient.bat" image="BroadDirector.gif" Mnemonic="L" toolBar="yes" privilegeId="SubnetConfigDataView"/>
</separator>
在逻辑部分,之前想通过直接运行对接网管的.bat文件来打开网管,但是发现了一个问题,由于我们是较老的图形界面不能使用javaScript的脚本来编辑
如下;是js脚本
<SCRIPT LANGUAGE="JavaScript">
var WshShell=new ActiveXObject("WScript.Shell");
var WshShell=new ActiveXObject("WScript.Shell");
WshShell.Run("cmd /k E:& cd E:\\bdcom\\BroadDirector5ForBDCOM\\install\\bin & startClient.bat",1,true);
</SCRIPT>
所以只能用绝对路径来在java中运行.bat(Process p = Runtime.getRuntime().exec("cmd /k & start C:\\Program Files\\BDCOM\\BroadDirector\\bin\\startClient.bat");)
但是关键来了,在
startClient.bat中有一个设置环境变量的bat,其运行路径在startClient.bat的上一层,但是又不能直接修改bat的内容。
所以必须在运行bat的时候设置工作路径。
采取下面的方法,自己在java代码中写一个bat文件,直接运行这个文件,在这个文件里面修改路径并运行startClient.bat。
就ok了。