请陈辉大哥指导一下这三个函数的应用
Private Declare Function CreateJobObject Lib "kernel32.dll" Alias "CreateJobObjectA" (ByRef lpJobAttributes As Any, ByVal lpName As String) As Long
Private Declare Function AssignProcessToJobObject Lib "kernel32.dll" (ByVal hJob As Long, ByVal hProcess As Long) As Long
Private Declare Function TerminateJobObject Lib "kernel32.dll" (ByVal hJob As Long, ByVal uExitCode As Long) As Long

解决方案 »

  1.   

    Private Declare Function CreateJobObject Lib "kernel32.dll" Alias "CreateJobObjectA" (ByRef lpJobAttributes As Any, ByVal lpName As String) As Long
    Private Declare Function AssignProcessToJobObject Lib "kernel32.dll" (ByVal hJob As Long, ByVal hProcess As Long) As Long
    Private Declare Function TerminateJobObject Lib "kernel32.dll" (ByVal hJob 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 SYNCHRONIZE = &H100000Private Const STANDARD_RIGHTS_REQUIRED = &HF0000Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF
    Public Function MyTerminateProcess(ByVal hpid As Long) As Boolean
            Dim hJob As Long
            Dim hProcess As Long
            Dim tmp
            MyTerminateProcess = False
            hJob = CreateJobObject(ByVal 0&, "")        If hJob Then
            hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, hpid)
            tmp = AssignProcessToJobObject(hJob, hProcess)        tmp = TerminateJobObject(hJob, 0)
       
            MyTerminateProcess = True
            End If
    End FunctionPrivate Sub Form_Load()
        MyTerminateProcess 976
    End Sub