'强杀TC进程,使用的是Dos的命令
'调用的是Dos窗口,因此在调用新TC程序时,最好再判断一下TC进程是否杀掉,Dos是否退出了。
'因为有可能,Dos还没把进程杀掉,你就启动新进程,
'还有可能,Dos还在运行,你新启动的进程也被杀掉,导致TC没运行
Function ForceCloseTCProcess()
'******关闭未关闭的TC进程********************************
Dim wmi,pro_s,oShell
Set oShell = CreateObject("WScript.Shell")
Set wmi=GetObject("winmgmts://.")
Set pro_s=wmi.instancesof("win32_process")
For Each p In pro_s
if InStr(LCase(p.name),"testcomplete") > 0 Then
oShell.Run "cmd /C ntsd -c q -p " & p.ProcessId
End If
Next
End Function
Function ForceCloseTCProcess()
'******关闭未关闭的TC进程********************************
Dim wmi,pro_s,oShell
Set oShell = CreateObject("WScript.Shell")
Set wmi=GetObject("winmgmts://.")
Set pro_s=wmi.instancesof("win32_process")
For Each p In pro_s
if InStr(LCase(p.name),"testcomplete") > 0 Then
oShell.Run "cmd /C ntsd -c q -p " & p.ProcessId
End If
Next
End Function
'正常退出TC进程(有些进程此方法杀不了的。)
Function CloseTCProcess()
'******关闭未关闭的TC进程********************************
Dim wmi,pro_s
Set wmi=GetObject("winmgmts://.")
Set pro_s=wmi.instancesof("win32_process")
For Each p In pro_s
if InStr(LCase(p.name),"testcomplete") > 0 Then
p.Terminate
End If
Next
End Function
Function CloseTCProcess()
'******关闭未关闭的TC进程********************************
Dim wmi,pro_s
Set wmi=GetObject("winmgmts://.")
Set pro_s=wmi.instancesof("win32_process")
For Each p In pro_s
if InStr(LCase(p.name),"testcomplete") > 0 Then
p.Terminate
End If
Next
End Function
本文介绍了一种通过Windows Management Instrumentation (WMI) 和DOS命令来强制结束TestComplete (TC) 进程的方法。首先利用WMI获取所有运行中的进程,然后检查进程名称中是否包含testcomplete,如果包含,则使用DOS命令ntsd来结束该进程。此外,还提供了一种常规的进程终止方法。
1671

被折叠的 条评论
为什么被折叠?



