Private
Sub
Command1_Click()
Shell
"taskkill
/im
1.exe
/f",
vbHide
'1.exe是要关闭的外部程序
End
Sub
用VB做太麻烦,用VB结合 *** 作系统的调试命令 才是王道,ntsd.exe 系统高级人员使用的工具,不会报错!可以级别很高的进程(杀毒软件等除外)
具体代码如下:
在From时间里选择 Unload事件,即退出时执行的事件
Private Sub Form_Unload(Cancel As Integer)
ShellExecute(Me.hwnd, "open", ntsd, "-c q -pn QQ.exe", vbNullString, SW_SHOWNORMAL)'如果要隐藏执行的话,请改 SW_SHOWNORMAL
End Sub
由于现在现在没有VB开发环境,可能代码会有点问题,不过授人以鱼不如授人以渔,告诉你总体思路:
1、退出时的时间是:Form_Unload
2、调用系统 ntsd.exe 直接在cmd下输入 ntsd -c q -pn qq.exe 就可以看到效果
3、容错处理,在代码开始时加入:on error resume next
如果还是不懂,QQ联系我,谢谢
------gh027soft
可以利用Shell函数调用外部程序后返回PID值的功能将程序关掉,在获得外部程序的PID后,你可以调用命令taskkill或ntsd命令关闭程序,也可以用API编程实现,这里我举个简单的例子(用ntsd命令,格式为 ntsd -c q -p pid):Dim x '声明外部变量x,作为记录外部程序PID值的变量
Private Sub Command1_Click()'用Command1按钮调用一个外部程序
x = Shell("cmd.exe")
End Sub
Private Sub Command2_Click()'用Command2按钮调用ntsd将其关闭
Dim command As String
command = "ntsd -c q -p " &Str(x)
Shell command, vbHide
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)