Board logo

标题: [原创] VBS+HTA版进程管理程序 [打印本页]

作者: youxi01    时间: 2008-11-7 22:53     标题: VBS+HTA版进程管理程序

闲来无事,写了个小程序:进程管理器。
1、功能:列举进程、(ntsd强制)结束进程,标志用户进程(区分系统进程),标志非C盘进程文件,支持在线查询进程说明(向百度提交关键词),可以打开进程所在文件夹并选择该文件。
2、应用范围:当资源管理器被病毒禁用时。

3、程序运行界面:
[attach]1584[/attach]

4、程序下载:
[attach]563[/attach]

5、源代码:
  1. <!--////////程序说明/////////====
  2. Intro  进程管理器:获取进程信息,支持网络查询,支持强制结束进程
  3. FileName 进程管理器
  4. Author  2laoshi
  5. Version  ver1.0
  6. Web  http://www.2laoshi.cn
  7. MadeTime 2008-11-6~2008-11-7
  8. <!--//////////设置hta格式////////////-->
  9. <HTA:APPLICATION
  10. SCROLL="no"
  11. MaximizeButton="no"
  12. MinimizeButton="no"
  13. INNERBORDER="no"
  14. SHOWINTASKBAR="yes"
  15. SINGLEINSTANCE="yes"
  16. BORDER="thin"
  17. />
  18. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  19. <!--//////////样式////////////-->
  20. <style type="text/css">
  21. a:link {color:blue}
  22. a:visited {color: blue}
  23. body  {background: #EEEEEE}
  24. hr {width:90%;height:1px;margin:-5;color:#ccc}
  25. p {font-size:12;margin:-2 5 2 5;}
  26. fieldset {border :1px solid #BEBEBE;font-family:宋体;}
  27. legend {color:red;font-size:14px}
  28. #toper{text-align=center;font-size:13px;font-family: "隶书";color:darkblue;padding:1px;line-height:15px;background-color:white;width:250;align:center;margin:2 0 -5 100;}
  29. #content{border:1px solid #ccc;height:360;width:390;margin:3;float:left}
  30. #rightbox1{border:1px solid #ccc;height:219;width:135;margin:3;float:left;}
  31. #rightbox2{border:1px solid #ccc;height:135;width:135;margin:3;float:left;}
  32. #footer{border:1px solid #ccc;height:40;width:540;margin:0 5;}
  33. #Ttable TD{text-align=center;background-color:#006699;font-size:13px;height:18;
  34.          font-family: "隶书";color:#F2F3F7;padding:2px;line-height:18px;font:bold;}
  35. #MyTable Td{background-color:#ccd2de;font-size:12px;padding-top:1px;height:20px;padding-left:4}
  36. .row2{background-color:#ccd2ad;font-size:12px;padding-top:1px;height:20px;padding-left:4}
  37. .div_button{text-align:center;width:100%;border:1px solid #ccc;
  38.           background-color:#EEEEEE;font-size:12px;color:#333333;
  39.           padding:3px 2px;margin:2px;line-height:20px;}
  40. .button {padding:1px;text-align:center;border:0;background-color:#eee;height:23px;cursor:hand;}
  41. .div_class{WIDTH:100%; HEIGHT:332; BACKGROUND-COLOR: transparent; overflow-y: scroll; scrollbar-shadow-color: #ffffff; scrollbar-highlight-color: #ffffff; scrollbar-face-color: #d9d9d9; scrollbar-3dlight-color: #d9d9d9; scrollbar-darkshadow-color: #d9d9d9; scrollbar-track-color: #ffffff; scrollbar-arrow-color: #ffffff;}
  42. </style>
  43. <!--//////////函数区////////////-->
  44. <script language="vbscript">
  45. ON ERROR RESUME NEXT
  46. URL="http://www.baidu.com/s?wd="
  47. set objWMIS=GetObject("winmgmts:\\.")
  48. set fso=CreateObject("Scripting.FileSystemObject")
  49. set wsh=CreateObject("Wscript.Shell")
  50. Sub Window_onLoad
  51. window.resizeTo 550,420
  52. ileft=(window.screen.width-550)/2
  53. itop=(window.screen.height-445)/2      
  54. window.moveTo ileft,itop
  55. GetProcList()               
  56. End Sub
  57. Sub Window_onUnLoad
  58. set fso=nothing
  59. set wsh=nothing            
  60. End Sub
  61. '添加表格行;
  62. Function addRow(str1,str2,str3,flag,flag2)
  63. set newrow=MyTable.insertRow()
  64. set newcell=newrow.insertCell()
  65. newcell.innerHTML=str1
  66. set newcell=newrow.insertCell()
  67. newcell.innerHTML=str2
  68. if flag=1 then newcell.style.backgroundcolor="#ccd2ad"
  69. set newcell=newrow.insertCell()
  70. newcell.ondblclick=getRef("OpenFolder")
  71. newcell.style.cursor="hand"
  72. if flag2=1 then newcell.style.backgroundcolor="#acd2ad"
  73. newcell.innerHTML=str3
  74. End Function
  75. '获取进程列表
  76. Function GetProcList()
  77. for i =1 to MyTable.rows.length-1
  78. MyTable.deleteRow()
  79. next
  80. set ColProc=objWMIS.InstancesOf("Win32_Process")
  81. for each objProc in ColProc
  82. flag2=0
  83. Pname=objProc.name
  84. PID=objProc.ProcessID
  85. Ppath=objProc.ExecutablePath
  86. if isNull(Ppath) then
  87.   Ppath=""
  88. else
  89.   if lcase(fso.getfile(Ppath).drive)<>"c:" then flag2=1
  90. end if
  91. colProperties=objProc.GetOwner(strNameOfUser,strUserDomain)
  92. Puser=Lcase(strNameOfUser)
  93. select case Puser
  94.   case "system" Puser="系统进程"
  95.   case "local service" Puser="本地服务"
  96.   case "network service" Puser="网络服务"
  97.   case else Puser="用户进程"
  98. end select
  99. str1="<input type=checkbox id="&PID&">"
  100. str2="<a title="&Puser&"。点击到百度查看详细说明 href="&URL&Pname&">"&Pname&"</a>"
  101. str3="<a title=双击打开文件夹>"&Ppath&"</a>"
  102. if lcase(Pname)<>"system idle process" then
  103.   if Puser="用户进程" then
  104.     addRow str1,str2,str3,1,flag2
  105.   else
  106.    addRow str1,str2,str3,2,flag2
  107.   end if
  108. end if
  109. next
  110. End Function
  111. '打开文件夹,并选择指定文件;
  112. Function OpenFolder()
  113. wsh.run "Explorer.exe /select,"&me.innertext
  114. End Function
  115. Function KillProc()
  116. for i=1 to MyTable.rows.length-1
  117. if MyTable.rows(i).cells(0).children(0).checked=true then
  118.   PIDArr=PIDArr&MyTable.rows(i).cells(0).children(0).id&","
  119. end if
  120. next
  121. if PIDArr then
  122. PIDArr=left(PIDArr,(len(PIDArr)-1))
  123. else
  124. exit function
  125. end if
  126. PIDArr=split(PIDArr,",")
  127. set ColProc=objWMIS.InstancesOf("Win32_Process")
  128. for each objProc in ColProc
  129. PID=objProc.ProcessID
  130. for i=0 to UBound(PIDArr)
  131.   if PID=int(PIDArr(i)) then
  132.    objProc.terminate
  133.    set objindex=document.getelementbyid(PIDArr(i))
  134.    index=objindex.parentelement.parentelement.rowindex
  135.    MyTable.deleteRow(index)
  136.   end if  
  137. next
  138. next
  139. End Function
  140. Function KillProc2()
  141. for i=1 to MyTable.rows.length-1
  142. if MyTable.rows(i).cells(0).children(0).checked=true then
  143.   id=MyTable.rows(i).cells(0).children(0).id
  144.   wsh.run "ntsd -c q -p "&id,0
  145.   MyTable.deleteRow(i)
  146. end if
  147. next
  148. End Function
  149. </script>
  150. <!--//////////版面设计区////////////-->
  151. <title>进程管理器</title>
  152. <body topmargin="2" rightmargin="0" leftmargin="0" oncontextmenu=self.event.returnvalue=false>
  153. <div id=toper>进程管理器processorManager(ver1.0)</div>
  154. <div id=content>
  155. <TABLE id="Ttable" cellSpacing=1 cellPadding=0 width=100%>
  156. <TR>
  157. <TD width=40>全选</TD>
  158. <TD width=120>进程名</TD>
  159. <TD width=300>进程所在</TD>
  160. <TD width=13></TD></Tr>
  161. </TABLE>
  162. <div class="div_class">
  163. <TABLE id="mytable" cellSpacing=1 cellPadding=0 width=100% style="margin-top:-22">
  164. <TR title="这一行只是演示,所有数据不保存">
  165. <TD width=32><input type=checkbox></TD>
  166. <TD width=45>1000000000000000</TD>
  167. <TD width=243>cccccccccccccccccccccccccccccccccccc</TD>
  168. </TABLE>
  169. </div>
  170. </div>
  171. <div id=rightbox1>
  172. <p align=center style="margin-top:5;">程序简介
  173. <hr>
  174. <p style="color:red;">程序功能:
  175. <p>列举、结束、强制结束、在线查询进程;获取进程文件所在路径;
  176. <hr>
  177. <p style="color:red;">程序运行:
  178. <p>基于hta+vbs编写,需WSH支持;XP下测试通过。
  179. <hr>
  180. <p style="color:red;">作者信息:
  181. <p><a href="http://www.2laoshi.cn" title="访问作者博客">2laoshi(youxi01)</a>
  182. </div>
  183. <div id=rightbox2>
  184. <div class="div_button">
  185. <input type=submit value="更新列表" class="button" onclick=GetProcList></div>
  186. <div class="div_button">
  187. <input type=submit value="结束进程" class="button" onclick=killProc></div>
  188. <div class="div_button">
  189. <input type=submit value="强制结束" class="button" onclick=KillProc2></div>
  190. <div class="div_button">
  191. <input type=submit value="退出程序" class="button" onclick=self.close></div>
  192. </div>
复制代码

作者: rat    时间: 2008-11-7 23:00

闲来无事

写写vbs教程吧!
作者: youxi01    时间: 2008-11-7 23:11     标题: 回复 2楼 的帖子

惭愧,惭愧...

不过要写vbs教程,真是觉得无从下手,水平不够...
作者: rat    时间: 2008-11-7 23:21

太谦虚了,大家一起进步啊,我写教程的时候就是这么想的
作者: too_lazy    时间: 2008-12-11 23:53

支持rat版主!!!同时支持楼主!!!
有你的付出才有我们的进步!!
作者: geqdess01    时间: 2008-12-27 19:08

楼主您好 ....

小弟非常羨慕樓主可以vbs制成一个小程序

不知道是否有其他资源  可以学如何制作这种版快的教程
作者: lcq0916    时间: 2009-1-21 19:21

偶非常你写的BAT教程,如果你再来点入门的VBS那就更好了。
作者: samliu    时间: 2009-3-7 22:12

看了楼主的帖子
觉得你很厉害
楼主什么时候出教程
我一定拜读
作者: fengzhong1    时间: 2009-3-27 19:54

62124528    VBS 自学者交流群, 大家有时间可以在一起聊一下
作者: qjfke    时间: 2009-4-11 12:45

多学习学习,看一看 谢谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2