- Код: Выделить всё
SendMessage tbTest.hwnd, WM_CHAR, vbKeyS, ByVal 0
А как симитировать одновременное нажатие «Ctrl» + «S» ?
SendMessage tbTest.hwnd, WM_CHAR, vbKeyS, ByVal 0
FireFenix писал(а):Кроме книг, ещё существует msdn! Т.е. техническая документация от микрософт...
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Qwertiy писал(а):Обращаю внимание, что регистр буквы S а также текущий язык могут оказаться важны.
dima-pol писал(а):Может Вы про SendKeys "^s". SendKeys мне не подходит.
Private Sub Command1_Click()
Dim hwnd As Long
hwnd = FindWindow("Notepad", vbNullString)
SetForegroundWindow hwnd
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyS, 0, 0, 0
keybd_event vbKeyS, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
End Sub
Private Sub Timer1_Timer()
Timer1.Enabled = False
Command1_Click
End Sub
Private Sub Command1_Click()
Dim hwnd As Long
Dim MyThreadId As Long, OtherThreadId As Long, ForegroundThreadId As Long
hwnd = FindWindow("Notepad", vbNullString)
MyThreadId = GetCurrentThreadId
ForegroundThreadId = GetWindowThreadProcessId(GetForegroundWindow, ByVal 0)
If MyThreadId = ForegroundThreadId Then
SetForegroundWindow hwnd
SendCtrlS
Else
OtherThreadId = GetWindowThreadProcessId(hwnd, ByVal 0)
AttachThreadInput MyThreadId, OtherThreadId, 1
SetFocusWindow hwnd
SendCtrlS
AttachThreadInput MyThreadId, OtherThreadId, 0
End If
End Sub
Private Sub SendCtrlS()
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyS, 0, 0, 0
keybd_event vbKeyS, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
End Sub
Сейчас этот форум просматривают: Google-бот и гости: 44