Javascript来运行进程?

Javascript来运行进程?,javascript,process,Javascript,Process,我想知道是否可以在web浏览器(很可能是IE)中使用Javascript来检索当前正在运行的进程列表 我不想启动任何进程或关闭它们或诸如此类的事情。只是一个列表,我可以检查一下,然后说,例如,如果某个进程正在运行,请执行其他操作。绝对不是,这远远超出了Javascript沙盒应该能够执行的功能。不,您无法从以正常权限运行的基于浏览器的Javascript获取任何有关操作系统进程的信息 出于隐私和安全原因,浏览器javascript环境受到非常仔细的保护,并与您的系统隔离。如果一个人可以按照你的要

我想知道是否可以在web浏览器(很可能是IE)中使用Javascript来检索当前正在运行的进程列表


我不想启动任何进程或关闭它们或诸如此类的事情。只是一个列表,我可以检查一下,然后说,例如,如果某个进程正在运行,请执行其他操作。

绝对不是,这远远超出了Javascript沙盒应该能够执行的功能。

不,您无法从以正常权限运行的基于浏览器的Javascript获取任何有关操作系统进程的信息

出于隐私和安全原因,浏览器javascript环境受到非常仔细的保护,并与您的系统隔离。如果一个人可以按照你的要求去做,那么互联网上的任何网页都可以准确地看到你正在运行的程序,并可以将这些信息发送回他们自己的服务器

如果您愿意放松安全设置,IE的某些版本包含一些访问操作系统信息的功能(例如,请参阅),但您应该意识到,如果您确实放松了安全设置,未知网页可能也可以访问此信息或在操作系统中执行操作。其他浏览器甚至不包含用于常规网页的此功能。由于只有一个浏览器支持此功能,并且只有在安全限制放宽的情况下,此功能才是通用浏览器功能。

这里是JSP页面-
Here is JSP page-

<html>
<head>
<title>Find running processes</title>
<script type="text/jscript">
function getProcessList()
{
  var procs = GetObject("WinMgmts:").InstancesOf("Win32_Process");
  var mainRes = "";
  procEnum = new Enumerator(procs);
  for ( ; !procEnum.atEnd(); procEnum.moveNext())
  {
    var proc = procEnum.item();   
    mainRes += proc.Name + ": " + proc.ProcessID + "\n";
  } 
  return mainRes;
}

function getSysRunningApps()
{
  var oOutput = document.getElementById("processDisplay");
  oOutput.value = "";
  oOutput.value = getProcessList();
}

</script>
</head>

<body bgcolor="#FFFFFF">
<input type="button" value="Show Processes" onclick="getSysRunningApps();"><br>
<p id="processDisplay" cols="30" rows="40"></p>
</body>
</html>
查找正在运行的进程 函数getProcessList() { var procs=GetObject(“WinMgmts:”).InstancesOf(“Win32_进程”); var mainRes=“”; procEnum=新枚举数(procs); 对于(;!procEnum.atEnd();procEnum.moveNext()) { var proc=procEnum.item(); mainRes+=proc.Name+“:“+proc.ProcessID+”\n”; } 返回mainRes; } 函数getSysRunningApps() { var oOutput=document.getElementById(“processDisplay”); oooutput.value=“”; oOutput.value=getProcessList(); }


是的,你可以!以下方法仅针对MSIE,可能会引发安全警告

在MSIE下执行时,以下代码将列出浏览器窗口中的所有Windows进程,并在McAfee正在运行时显示javascript警报:

<html>
  <body>
    <div id="list"></div>
  </body>
  <script>
    // create a shell object and exec handle
    var shell = new ActiveXObject('WScript.Shell');
    var handle = shell.Exec("tasklist.exe");

    // loop through the output of tasklist.exe
    while (!handle.StdOut.AtEndOfStream) {
      // grab a line of text
      var p = handle.StdOut.ReadLine();
      document.getElementById("list").innerHTML+=p+"<br>"; // for debugging
      // split on space
      p = p.split(' ');
      if (p[0]=='mcshield.exe') {
        alert("McAfee detected");
      }
    } // end :: while

    // clean up
    handle = null;
    shell=null;
</script>
</html>

//创建shell对象和exec句柄
var shell=newActiveXObject('WScript.shell');
var handle=shell.Exec(“tasklist.exe”);
//循环遍历tasklist.exe的输出
而(!handle.StdOut.AtEndOfStream){
//抓取一行文字
var p=handle.StdOut.ReadLine();
document.getElementById(“list”).innerHTML+=p+“
”;//用于调试 //空间分割 p=p.分割(“”); 如果(p[0]=='mcshield.exe'){ 警报(“检测到McAfee”); } }//结束::while //清理 handle=null; shell=null;
信贷:灵感来自

此代码在以下浏览器下进行了测试:

  • MSIE 8.0.6001.18702/Windows XP Pro
  • MSIE 10.0.9200.16521/Windows 7;标准文档模式
  • MSIE 11.0.9600.16428/Windows7;边缘(又名MSIE11)文档模式
如果在创建
ActiveXObject
时出现JavaScript错误
Automation server无法创建对象
,则可能需要将MSIE的安全选项
初始化,并将未标记为脚本安全的ActiveX控件的脚本设置为
提示
启用

在Firefox下,您应该使用基于。
请注意,
tasklist.exe
并非在所有Windows版本下都可用:AFAIK它是从Windows XP Pro开始提供的。

是否要查看操作系统进程列表?您是指在计算机上运行的进程?如果是这样的话,答案是否定的。JS无法访问浏览器之外的任何内容。也许你可以用ActiveX插件做一些奇怪的事情,但我不知道。请看,我也不能让你的代码在这里工作:在Windows 8上的IE 11中。@jfriend00:对不起,我没有Windows 8,但我在MSIE 11和Windows 7下测试了它,它可以工作。您的Windows目录中是否有
tasklist.exe
?(通常在
%windir%\system32\tasklist.exe下)是的,我在\windows\systems32目录和路径中有tasklist.exe。它在DOS shell中运行得很好。@jfriend00:您有JavaScript错误吗?您的MSIE安全设置配置正确吗?(例如,控制台中的“初始化并为未标记为脚本安全的ActiveX控件编写脚本”=“提示符”)显示:“SCRIPT429:自动化服务器无法创建对象”。我不会花更多的时间调试它,因为无论如何我都不会让一些任意脚本在我的计算机上运行程序,我也不会推荐任何我认识的人允许这样做。它不适用于Windows 8上IE11中的默认安全设置,我也不想调整IE中的安全设置以允许它。谢天谢地,我通常不运行IE,所以我不必担心被这种访问欺骗。在标准模式下。你需要使用怪癖模式…有什么变化吗@Kcvin-该链接与此问题有何关系?通过web浏览器的Discord可以根据.exe运行的内容检测您正在玩的游戏。我想是JS?我不确定是否有任何特权。@Kcvin-什么是不和?请链接。这是一个基于浏览器的聊天应用程序,可以根据正在运行的进程告诉你朋友在玩什么游戏——不需要下载,但他们可以选择安装桌面版本;