SendMessage - API функция, имеет синтаксис:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
hwnd - манипулятор окна, которому посылается сообщение;
wMsg - идентификатор сообщения, т.е какой ты сообщение хочешь послать окну:
wParam - эта переменная зависит от сообщения wMsg;
lParam - аналогично wParam (тоже зависит от сообщения).
В твоем случае, как сказал уже
GSerg, вызов ф-ии будет осуществлятся так:
SendMessage hwnd,WM_CLOSE, 0&, 0&
WM_CLOSE константа равная &H10
Теперь, если знаешь манипулятор процесса, то можешь его закрыть.
А если не знаешь, то нужно узнать... Например функцией FindWindow, она находит окно по заголовку.
Вот пример программы, которая закрывает виндовую игру "сапер":
- Код: Выделить всё
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Const WM_CLOSE = &H10
Private Sub Command1_Click()
Dim hWind As Long
hWind = FindWindow(vbNullString, "Сапер")
Call SendMessage(hWind, WM_CLOSE, 0&, 0&)
End Sub
Удачи.