宝哥软件园

带Javascript的Windows任务管理器代码

编辑:宝哥软件园 来源:互联网 时间:2021-10-10

很多人一提到射流研究…可能就会想到网页,其实射流研究…同样可以拥有主动权,做一些其他语言能做到的事情,甚至可以反过来去主宰浏览器,而不是被浏览器主宰着。这篇文章将介绍一个建立在WSH平台上,通过射流研究…实现的真正可用的Windows操作系统操作系统任务管理器。一:代码及注释复制代码代码如下: /* JS任务管理器By:X!ao _ f mail :[电子邮件保护]QQ :120000512 *///建立对象壳对象,该对象提供了弹出提示框、运行进程、操作注册表等基本功能var shell=WScript .CreateObject('WScript .shell’);//建立WMI对象,通过WMI可以实现系统管理,其中就包括了进程管理部分var wmi=WScript .CreateObject('WbemScripting .swbelocator ').ConnectServer(' . '、根 CIM v2);//建立一个工业管理学(工业工程)窗口,用于数据的输出var browser=WScript .CreateObject('InternetExplorer .应用');//微软的公共对话框组件,可以提供打开文件、选择字体、颜色选择功能var commonDialog=WScript .CreateObject('MSComDlg .公共对话框’);定义变量窗口;函数foreach(object,fn){ var I=0;for(var e=新枚举器(对象);e . ATend();e.moveNext()){ fn(即item());} } //初始化窗口~ function(){ browser。导航(“约:空白”);浏览器。可见=假浏览器。文件。write(' HTML head style * { font :14 px arial;margin :0 padd :3 px } /style /head BODY/BODY /HTML’;//等待浏览器加载完毕而(浏览器。忙)WScript .睡眠(100);//设置浏览器外观browser.document.title='进程管理器browser . toolbar=false browser . status bar=false browser . full screen=true var w=browser . width var h=browser . height browser . full screen=false browser。宽度=w;浏览器。高度=h;浏览器。left=0;浏览器。top=0;window=浏览器。文件。父窗口;//创建按钮并绑定事件var button=浏览器。文件。创建元素(“按钮”);button.innerHTML='新建进程.button.onmousedown=openbrowser。文件。尸体。appendchild(按钮);var button=浏览器。文件。创建元素(“按钮”);button.innerHTML='刷新列表;button . onmousedown=refresh browser。文件。尸体。appendchild(按钮);var div列表=浏览器。文件。创建元素(' div ');div列表。id=' div list浏览器。文件。尸体。appendchild(div列表);//结束进程的回调函数浏览器。文件。_ _ kill _ _=函数(PID){ var process=wmi .每个(进程、函数(I,o){ o . terminal())的执行查询(' Select * From Win32 _ Process,其中ProcessID=' PID ');});};browser.visible=true }() //更新列表函数更新(消息){浏览器。文件。尸体。全部。div列表。innerhtml=msg} //新建进程函数open(){ //因为第一次弹出对话框会被浏览器窗口挡住,隐藏一下浏览器可以解决这个问题if(!公共对话.过滤器){浏览器。可见=假浏览器。可见=真}//这里设置打开对话框的过滤规则公共对话.筛选器='所有类型(*.*)';公共对话.DialogTitle='进程管理器-选择文件;公共对话.MaxFileSize=260commonDialog .CancelError=false//通过延迟的方式打开对话框可以保证显示在最前端window.setTimeout(函数(){ commonDialog .show open();变量路径=公共对话框.文件名;//路径不为空可以视为按的确定按钮,用壳执行该路径if(path){ shell。运行('路径' ');公共对话.文件名=' ';listProcess();} },10);} //刷新函数refresh(){ ListProcess();} //处理进程列表的主要函数函数listProcess(){ //这里先通过WMI查询出所有的进程基本信息,有关WMI的使用方法可以查询相关资料,或通过煤矿管理局下wmic?查看帮助信息,在这里不过多介绍。

定义变量进程=wmi .ExecQuery(“”从Win32 _进程中选择* ');var P1={ };var p2={ };//下面计算中央处理器占用率,引用:http://www .科技感。net/2009/03/get-process-CPU-使用率-使用-wmi/var数据1=wmi .ExecQuery(“”从Win32 _ perfraw数据_ perf进程_进程中选择*);foreach(数据1,函数(我,对象){ P1[对象.IDProcess]=对象;});wscript。休眠(1000)var数据2=wmi .ExecQuery(“”从Win32 _ perfraw数据_ perf进程_进程中选择*);foreach(数据2,函数(我,对象){ p2[对象IDProcess]=(P1[对象IDProcess].对象百分比处理器时间)/(P1[对象IDProcess].时间戳_Sys100NS -对象. TiMer _ SyS 100Ns)* 100;});//生成表格并更新定义变量表=[];var memSum=0;var cpuSum=0;table.push('trtd' ['序号,' PID ','名称','操作,'中央处理器占用率','内存占用','路径'].join('/tdtd ')'/TD/tr ');foreach(process,function(i,object){ var tr=[];var TD=[];道明。推(我);道明。push(对象。processid);道明。push(对象。姓名);道明。push(' span style=' color : red;光标:指针指针" onclick="文档_ _ kill _ _(“对象。processid ");这个。父节点。父节点。移除节点(真);'结束/span’);道明。推送(~ ~(p2[对象.ProcessID]* 100))/100);道明。push(~ ~((object .工作集大小/1024/1024)* 100))/100 ' MB ');道明。push((对象。executable path | | '-')' nbsp ');memSum=(对象working setsize/1024/1024);if(object.processid!=0){ CPUsum=p2[对象ProcessID];} tr。推送(' trtd ' TD。join('/tdtd ')'/TD/tr ');桌子。push(tr);});table.push('trtd colspan=8内存占用: '(~ ~(memSum * 100))/100)' MB ' ',CPU占用率: '(~ ~(cpuSum * 100))/100)' %/TD/tr ');table=' table width=100%边框=1 '表格。join(" "/table ' update(table);} //这里要有一个循环,因为WScript进程与浏览器进程是分开的,如果不加循环当程序执行到这里WScript就结束了尝试{ while(!浏览器关闭){尝试{刷新();} catch(e){ };WScript .睡眠(1000)};}捕获(e){}运行效果

2.源代码下载的运行方法Process.rar:前提是windows操作系统。如果的打开模式。js没有特别设置,双击就可以运行。如果已经关联了集成开发环境,则需要将打开模式选择为“基于微软视窗的脚本主机”。

更多资讯
游戏推荐
更多+