结束进程命令
一、CMD中有结束进程的命令 5 p7 l% R3 S J7 `' b2 a& h
ntsd -c q -p pid (pid 为进程标识符,在任务管理器中可以调出这一属性列) * o7 z" s" z O$ o
例:如explorer.exe的pid为1332,则运行: : R2 @7 K! G/ ~+ x7 V2 e! o
ntsd -c q -p 1332就能结束explorer.exe进程 - d& l. c: z' U! \/ L4 R
ntsd -c q -pn ***.exe (***.exe为进程名,exe不能省) ! [; {0 y7 r9 @- r5 X2 A
例: % ?) j% {: }% t6 ]+ b' t" K8 E+ G
运行:ntsd -c q -pn explorer.exe就结束explorer.exe进程 ' M+ @2 s, ^! q j. _0 U& V
二、应用
0 ~; m; g2 t. L8 j0 O& W, {用VB作为环境,利用ntsd命令和shell函数就能搞出来了。
3 ?& b. `9 g. i N! V3 e6 E; l4 o" z2 l思路:
) O, v, S" o; ~% T' I' h先创建一个批处理文件(直接让CMD接受命令变量感觉不行,而这个文件可以直接在CMD中执行),,预先写入ntsd -c q -p ,然后接受输入的pid,传送PID到BAT文件,点击按钮执行BAT文件。
# V- H9 A# y. S9 F0 ?$ d因为涉及文件操作,所以要在工程中引用microsoft scripting runtime 2 z7 T" b; G5 r& d) `
========================================================= : s& V: M! s G9 A/ Q! ~% m
枫舞添言:如果不明白请,mailto:zhaox_ingg@gmail.com写源代码给你.^_^ , b8 A5 I2 ?: ~" A1 V, k6 w
hoho~look ..
1 }1 ?+ V' h8 F5 o) V------------------------------------------------ * R, d) [1 }' K7 F) s- r7 g
Dim ts As New FileSystemObject
. a" x! c z4 m: p/ u1 }Dim tf As TextStream $ N j, M- L, J0 w) B
Private Sub Command1_Click() ) t* @6 H4 E( Z+ \9 }
Set ts = CreateObject("Scripting.FileSystemObject") ) q7 U0 d9 S( o# c5 d! P% j6 s( B$ E
Set tf = ts.CreateTextFile("d:\1.bat") / a% p, R& Y4 M7 Z1 k5 d! F5 O# h
tf.Write ("ntsd -c q -p ") '预先写好前段命令
3 A! I9 \7 V) y* _9 wtf.Write (Text1.Text) '等待写入进程PID
L& ~- j6 f* A, w/ Btf.Close
8 d6 h* ^8 B& m ~) P0 |( H1 ^5 D3 KShell "D:\1.bat", vbMinimizedFocus '最小化执行结束进程命令 8 G$ i% O! d0 a, r V, T7 m2 p( ]
Text1.Text = ""
) U0 d6 N$ P1 f& f- lEnd Sub
- X# g7 E# H1 B3 s: k; fPrivate Sub Form_Unload(Cancel As Integer)
2 U, }5 c$ v! Z! I& bShell "cmd /c del d:\1.bat", vbMinimizedFocus '关闭时删除临时文件 + g$ N9 a* F% e. Q
End Sub ) t" J3 `! ^& r( u
0 y0 I' K+ `0 Z+ L3 @- X$ m$ `
另外一个程序,这个是用输‘进程名’并用‘winexec’来结束进程的代码: % Y' y4 t8 L/ m7 ]4 e
Dim ts As New FileSystemObject
! k7 e6 E, z$ R2 S/ ~, W4 ^5 mDim tf As TextStream
: n) r/ i7 i7 r* o) ?- Q$ @Dim df As File
# O2 C& R. O4 v6 N1 kPrivate Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long ; w: C6 D% U. D v. m, V. o; ~
' z/ L7 n& W! \ A
Private Sub Command1_Click()
3 S# J% Z; c1 c2 Z7 WSet ts = CreateObject("Scripting.FileSystemObject") , q0 Q# f7 B* }; r2 n
Set tf = ts.CreateTextFile("d:\1.bat") # z8 j" o6 K4 O, R
tf.Write ("ntsd -c q -pn ") '预先写好前段命令
, i9 a$ G/ t. h! w5 i% xtf.Write (Text1.Text) '等待写入进程PID : y0 B. Z* ]3 s* M1 A, M" u
tf.Close
/ H% d# @9 L# X# G$ k; B5 c* ?WinExec "D:\1.bat", 3 '执行命令
* ]* q/ k" q5 f" tText1.Text = ""
1 \$ F% x) i/ I7 S& b- nEnd Sub
% a% u$ ]; I7 C2 R* m$ [0 w' z1 ~Private Sub Form_Unload(Cancel As Integer)
3 R6 k# k L; M4 D% s9 _$ NSet df = ts.GetFile("d:\1.bat") 4 e3 U$ `* ?8 I+ A! m8 E+ Q
ts.DeleteFile (df) '关闭时删除临时文件,跟上面方法不一样 ' @$ o' o- M) n/ i: [% ^
End Sub
搜索更多相关主题的帖子:
结束进程 命令 批处理 ntsd exe