vb关于结束进程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/02 08:36:29
用下面的命令为什么不能将"计算器"程序关闭
hProcess = FindWindow(vbNullString, "计算器")
TerminateProcess hProcess, 0

因为一个是窗口句柄一个需要的是程序进程句柄。

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10

Private Sub Command1_Click()
Dim hProcess As Long
hProcess = FindWindow(vbNullString, "计算器")
SendMessage hProcess, WM_CLOSE, 0, 0
End Sub

用这个方法也可以实现