javascript运行本地程序后,能监听此程序结束吗?

 我来答
xxq8210
2010-12-30 · TA获得超过1.8万个赞
知道小有建树答主
回答量:476
采纳率:0%
帮助的人:284万
展开全部
javascript运行本地程序后,不能像Masm, C++,VB 等语言那样调用系统的API,获取一个进程句柄,并对这个进程进行监听和操作这个进程的各种参数。
当然,世上无绝对的事情,或者你有能力可以用C++,VB 把操作进程的函数封装成一个 ActiveX控件供JavaScript调用。
当然,如果你只想监听这程序是否还存在,你可以定时枚举系统进程来判断,如果进程列表内有你要监听的进程名称(或者PID)那么就存在了。这些系统一般都有现成ActiveX控件提供给你,例如:
var Winmgmts=GetObject("Winmgmts:");
var IE=WSH.GetObject("","InternetExplorer.Application");
IE.Navigate("about:blank");
var Process=new Enumerator(Winmgmts.ExecQuery("select * from win32_process"));
var table=IE.document.createElement("table");
IE.document.title="进程列表";
table.cellPadding=3;
table.style.cssText="font:9pt 宋体;border-collapse:collapse";
table.border=1;
table.bgColor="#bfffcf";
table.borderColor="black";
IE.document.body.appendChild(table);
insertRow(["进程","文件名","执行位置和参数"]);
table.rows[0].bgColor="#bfcfff";
IE.Visible=1;
while(!Process.atEnd())
{
insertRow([
Process.item().ProcessId,
Process.item().Name,
Process.item().CommandLine
]);
Process.moveNext();
}
function insertRow(cellArr)
{
table.insertRow(table.rows.length);
for(C=0;C<cellArr.length;C++)
{
table.rows[table.rows.length-1].insertCell(C);
table.rows[table.rows.length-1].cells[C].innerText=cellArr[C];
}
}

JavaScript枚举系统进程,服务,还有硬件状态这些我都做过,例子都非常多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式