Послать нажатие клавиши в стороннее приложение - VB

Узнай цену своей работы

Формулировка задачи:

День добрый, у меня следующий код обращается к другим приложениям:
К примеру если запущен Блокнот то туда "пошлётся" enter. Но в одной программе этот код действует не правильно (посылает вместо ентера (и любой клавиши) ескейп). Подкиньте плиз аналогию на api (если есть), гляну будет работать или нет. Заранее благодарен

Решение задачи: «Послать нажатие клавиши в стороннее приложение»

textual
Листинг программы
Option Explicit
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
 
Const WM_SYSCOMMAND = &H112
     Const SC_CLOSE = &HF060
     Dim a As Long, b As Long
 
Private Sub Form_Load()
b = FindWindow(vbNullString, "Калькулятор")     'К примеру
End Sub
 
Private Sub Command1_Click()
a = SendMessage(b, WM_SYSCOMMAND, SC_CLOSE, 0)
End Sub

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы