Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> имитация нажатия клавиши в другом приложении 
:(
    Опции темы
aksimus
Дата 14.9.2010, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.3.2009

Репутация: нет
Всего: нет



Есть такая задача:
Есть приложение на 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
.....



 может у кого-нибудь увидит мой косяк или имеет похожий примерчик.
Спасибо.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0403 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.