Есть такая задача: Есть приложение на VB6, которое должно отыскать по заголовку окно браузера с открытой там страницей, и вызвать там определенную JS функцию. Решил реализовать это следующим образом, на странице повесил вызов функции JS на событие нажатия клавиши, но вот тут то и проблема, нужно это нажатие сэмулировать.
Вот пример моего кода, который никак не хочет работать:
| Код | Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) 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 Declare Function VkKeyScan Lib "user32" Alias "VkKeyScanA" (ByVal cChar As Byte) As Integer
Private Const WM_CHAR = &H102 Private Const WM_SETFOCUS = &H7 Private Const WM_KEYDOWN = &H100 Private Const WM_KEYUP = &H101
Private Sub Command1_Click() Dim lhWnd As Long
lhWnd = FindWindowWild("*ak - test*", False) If lhWnd <> 0 Then
frmMain.txtRes = frmMain.txtRes + CStr(Now()) + "Window found.! lhWnd = " & CStr(lhWnd) + vbCrLf ShowWindow lhWnd, 0 If ShowWindow(lhWnd, 9) Then frmMain.txtRes = frmMain.txtRes + "ShowWindow = T " + vbCrLf Else frmMain.txtRes = frmMain.txtRes + "ShowWindow = F " + vbCrLf End If charcode = Asc("s") Key = VkKeyScan(charcode) DoEvents SendMessage lhWnd, WM_SETFOCUS, 0, 0 DoEvents SendMessage lhWnd, WM_KEYDOWN, Key, ByVal 0& DoEvents SendMessage lhWnd, WM_CHAR, charcode, ByVal 0& DoEvents SendMessage lhWnd, WM_KEYUP, Key, ByVal 0& DoEvents SendMessage lhWnd, WM_SETFOCUS, 0, 0 .....
|
может у кого-нибудь увидит мой косяк или имеет похожий примерчик. Спасибо.
|