在vb中调用外部程序可以用shell函数,那关闭呢?请问?

在vb中调用外部程序可以用shell函数,那关闭呢?请问?,第1张

思路:调用taskkill.exe来结束某个程序的进程,代码如下:

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12037647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存