从外部关闭带窗口的进程

博客展示了通过API函数从外部关闭进程的代码。使用FindWindow、OpenProcess等函数,先获取进程的Id,再通过Id得到句柄,最后调用TerminateProcess函数关闭进程,如关闭计算器进程的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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关掉进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值