VB 挂起和恢复进程

VERSION 5.00
Begin VB.Form frmMain
   Caption         =   "Form1"
   ClientHeight    =   3090
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3090
   ScaleWidth      =   4680
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton cmdTerminate
      Caption         =   "终止该进程"
      Height          =   375
      Left            =   3240
      TabIndex        =   3
      Top             =   1920
      Width           =   1335
   End
   Begin VB.CommandButton cmdClose
      Caption         =   "关闭句柄"
      Height          =   495
      Left            =   1920
      TabIndex        =   2
      Top             =   1800
      Width           =   1335
   End
   Begin VB.TextBox txtPid
      Height          =   495
      Left            =   720
      TabIndex        =   1
      Text            =   "123"
      Top             =   480
      Width           =   1695
   End
   Begin VB.CommandButton cmdResume
      Caption         =   "恢复进程"
      Height          =   495
      Left            =   120
      TabIndex        =   0
      Top             =   1800
      Width           =   1815
   End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const SYNCHRONIZE = &H100000
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
Private Declare Function NtSuspendProcess Lib "ntdll.dll" (ByVal hProc As Long) As Long
Private Declare Function NtResumeProcess Lib "ntdll.dll" (ByVal hProc As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private hProcess As Long

Private Sub cmdClose_Click()
    CloseHandle hProcess
End Sub

Private Sub cmdResume_Click()
    If IsNumeric(txtPid.Text) Then
        hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, CLng(txtPid.Text))
        If hProcess <> 0 Then
            NtResumeProcess hProcess
        End If
    End If
End Sub

Private Sub cmdTerminate_Click()
    If hProcess Then
        TerminateProcess hProcess, 0
    Else
        If IsNumeric(txtPid.Text) Then
            hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, CLng(txtPid.Text))
            If hProcess <> 0 Then
                TerminateProcess hProcess, 0
            End If
        End If
    End If
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝图

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值