Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Sub Form_Load()
Dim Fhwnd As Long, Phwnd As Long
Dim id As Long
Fhwnd = FindWindow(vbNullString, "计算器")
GetWindowThreadProcessId Fhwnd, id
Phwnd = OpenProcess(PROCESS_ALL_ACCESS, False, id)
TerminateProcess Phwnd, 0
End Sub
从外部关闭进程,首先要得到进程的Id,通过id得到句柄,然后调TerminateProcess关掉进程。
博客展示了通过API函数从外部关闭进程的代码。使用FindWindow、OpenProcess等函数,先获取进程的Id,再通过Id得到句柄,最后调用TerminateProcess函数关闭进程,如关闭计算器进程的示例。
7947

被折叠的 条评论
为什么被折叠?



