VB利用进程句柄挂起恢复进程

原创 2007年09月30日 14:16:00

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
 

VB 将指定PID进程挂起或恢复

  • 2011年05月23日 10:23
  • 222KB
  • 下载

获取句柄和进程

  • 2013年12月05日 14:01
  • 6KB
  • 下载

用SIGHUP挂起某个进程之后如何恢复?

用SIGHUP挂起某个进程之后如何恢复? 先man 7 signal看看吧 sigstop和sig contunue是对应的 但是sighup的话可能没有(ps 偶没有看...

HandleLook进程句柄查看

  • 2014年03月01日 23:31
  • 160KB
  • 下载

java开发系统内核:进程的挂起和恢复

有了进程的自动调度后,接下来的任务在于,如何将空闲进程挂起,空闲进程往往是那些没有具体任务需要处理的进程,因此,如果继续让其运行的话,那么必然会耗费宝贵的CPU资源,如果能让它先挂起,等到它需要执行具...

关闭进程打开的句柄

  • 2008年07月27日 14:16
  • 6KB
  • 下载

取进程和窗口句柄

  • 2013年11月27日 14:16
  • 5KB
  • 下载

利用NtQuerySystemInformation函数遍历进程,遍历线程,获取线程挂起或运行状态

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB利用进程句柄挂起恢复进程
举报原因:
原因补充:

(最多只允许输入30个字)