1. 遇到的问题
从xml读数据,xml的编码用中文就会乱码,改编码格式就调用不了。目前采用默认的ANSI编码。
.exe .txt .xlsx .xml .test
Run √ (路径不能带空格) √ √ √ √ (.test要有关联的默认打开方式如记事本)
Exec √ × × × ×
Run 不能直接打开带有空格的路径,如果带有空格,我给路径加一对双引号就又能运行
Exec 可以打开带有空格的.exe文件
一篇比较好的例子:必须要用支持ActiveX的浏览器,比如IE。并且在IE-Internet选项-安全-自定义级别-对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本 选择启用。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
function Run(strPath) {
//debugger;
exe.value = strPath;
try
{
//核心语句
var objShell = new ActiveXObject("wscript.shell");
objShell.Run(strPath);
objShell = null;
}
catch (e)
{
alert('找不到文件"' + strPath + '"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')
}
}
</script>
</head>
<body>
请输入要运行的程序:<br>
<input name="exe" type="text" size="20" value="regedit">
<button type="button" onclick="Run(exe.value)">
确定</button>
<button type="button" onclick="exe.value=''">
重新输入</button><br>
<button type="button" onclick="Run('C:\\WINDOWS\\system32\\notepad.exe')">
记事本</button><br>
<button type="button" onclick="Run('C:\\WINDOWS\\system32\\mspaint.exe')">
画图板</button><br>
<button type="button" onclick="Run('C:\\WINDOWS\\system32\\calc.exe')">
计算器</button><br>
<button type="button" onclick="Run('C:\\WINDOWS\\system32\\cmd.exe')">
cmd</button><br>
<button type="button" onclick="Run('C:\\WINDOWS\\regedit.exe')">
注册表</button><br>
<button type="button" onclick="Run('C:\\WINDOWS\\system32\\msconfig.exe')">
Msconfig</button><br>
</body>
</html>