当前位置:首页 > VB

VB中关闭shell打开的外部EXE程序

canca8年前 (2017-12-14)VB671

Private   Declare   Function   TerminateProcess   Lib   "kernel32"   _   
  (ByVal   hProcess   As   Long,   ByVal   uExitCode   As   Long)   As   Long   
    
  Const   PROCESS_QUERY_INFORMATION   =   &H400   
  Private   hProcess   As   Long   
  -----------------在程序中------------------   
          Dim   pid   As   Long   
            
          pid   =   Shell("notepad.exe",   vbNormalFocus)   
          hProcess   =   OpenProcess(PROCESS_QUERY_INFORMATION,   0,   pid)   
  ----------------如果要关闭-----------------   
  If   hProcess   <>   0   Then   
  aa   =   TerminateProcess(hProcess,   3838)   
  End   If   

 ***********************************************************************************************************

ExitProcess 

VB声明 
Declare Sub ExitProcess Lib "kernel32" Alias "ExitProcess" (ByVal uExitCode As Long) 
说明 
中止一个进程 
参数表 
参数 类型及说明 
uExitCode Long,指定想中断的那个进程的一个退出代码 
在VB中使用 
应尽量避免用该函数来关闭进程。不要在自己的VB程序中使用它。此时,应试着向要关闭的那个程序的主窗口投递一条WM_CLOSE消息 
***************************************************************************************************************
 Option   Explicit   
    
  Private   Declare   Function   TerminateProcess   Lib   "kernel32"   (ByVal   hProcess   As   Long,   ByVal   uExitCode   As   Long)   As   Long   
  Private   Declare   Function   OpenProcess   Lib   "kernel32"   _   
        (ByVal   dwDesiredAccess   As   Long,   ByVal   bInheritHandle   As   Long,   _   
          ByVal   dwProcessID   As   Long)   As   Long   
  Private   Const   PROCESS_TERMINATE   =   &H1   
  Private   hProcess   As   Long   
  '打开进程   
  Private   Sub   Command1_Click()   
          Dim   pid   As   Long   
          pid   =   Shell("c:/winnt/System32/calc.exe",   vbNormalFocus)   
          If   pid   =   0   Then   
                  MsgBox   "没有打开程序"   
          Else   
                  hProcess   =   OpenProcess(PROCESS_TERMINATE,   0,   pid)   
          End   If   
  End   Sub   
  '关闭进程   
  Private   Sub   Command2_Click()   
          Dim   l   As   Long   
          l   =   TerminateProcess(hProcess,   1)   
          If   l   <>   0   Then   
                  MsgBox   "成功关闭"   
          Else   
                  MsgBox   "未关闭"   
          End   If   
  End   Sub   

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/8.html

标签: VB
分享给朋友:

“VB中关闭shell打开的外部EXE程序” 的相关文章

在VB中实现MD5算法

——————————————————————————————————————Option Explicit Dim w1 As String, w2 As String, w3 As String, w4 As String Function MD5F(ByVal tempstr As String…

VB IE控制

VERSION 5.00Begin VB.UserControl uctlIe    ClientHeight    =   450   ClientLeft    &n…

vb制作IE插件

IE Tool Band 可以实现自定义工具栏.但实现比较复杂. 其实从IE5开始便允许我们向工具栏添加自己的按钮,其本质就是修改注册表,添加创建此按钮所需的信息。 实现步骤: 1.创建此按钮的GUID(globally unique identifier) 你可以通过Visual ...…

VB使用VarType判断数据类型

在VB代码编写过程当中 有时候我们不熟悉一些函数或过程调用之后 返回的数据类型是什么 这个时候可以使用VarType(VarName)这个函数去测试变量的数据类型 返回值是一个整形数值 对应一下列别就可以知道变量的数据类型了 这样就...…

VB SendMessage 详解

首先我们了解一下Windows的消息机制。Windows是一个消息驱动式系统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进行通信的手段。举个例子,打开记事本程序,该程序有一个 “文件“菜单。那么,在运行该…

VB获取WebBroswer里的验证码

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim X, CtrlRange Dim ii As Long ii = 0 For Each X In WebBrowser1.Docum…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。