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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нажатие клавиши в определённое окно 
:(
    Опции темы
I_Am_Rock
Дата 20.9.2008, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А попробуйте послать t - вдруг пошлет Ф5... smile
PM MAIL WWW   Вверх
XOXOJI
Дата 20.9.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



получается что по keyCode он не понимает, а берет из Ascii

если посылаю код t, то пишет большею T

Это сообщение отредактировал(а) XOXOJI - 20.9.2008, 18:59
PM MAIL   Вверх
I_Am_Rock
Дата 20.9.2008, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(XOXOJI @  20.9.2008,  18:57 Найти цитируемый пост)
получается что по keyCode он не понимает, а берет из Ascii

если посылаю код t, то пишет большею T

Странно... А код можете показать? Если прога небольшая, то лучше целиком...
PM MAIL WWW   Вверх
XOXOJI
Дата 20.9.2008, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(I_Am_Rock @ 20.9.2008,  19:12)
Цитата(XOXOJI @  20.9.2008,  18:57 Найти цитируемый пост)
получается что по keyCode он не понимает, а берет из Ascii

если посылаю код t, то пишет большею T

Странно... А код можете показать? Если прога небольшая, то лучше целиком...

покожу на примере с блокнотом, у него по F5 должна дата вставляться

Код

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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Const VK_R = &H74
Private Const WM_CHAR = &H102
Dim g, k As Long

Private Sub Command1_Click()
'Находим родительское окно по заголовку
g = FindWindow(vbNullString, "Безымянный - Блокнот")
'Находим дочерний объект по классу
k = FindWindowEx(g, 0, "Edit", vbNullString)
'Нажимаем клавишу
SendMessage k, WM_CHAR, VK_R, 0
End Sub


в основе ваш пример, с блокнотом, изменен только код кнопки VK_R

Это сообщение отредактировал(а) XOXOJI - 20.9.2008, 19:19
PM MAIL   Вверх
I_Am_Rock
Дата 20.9.2008, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Через тот код действительно че-то не работает...

Вот другой... Он работает... smile

Код

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const VK_R = &H74
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const KEYEVENTF_KEYUP = &H2
Dim g As Long

Private Sub Command1_Click()

g = FindWindow(vbNullString, "Безымянный - Блокнот")

SetWindowPos g, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
keybd_event VK_R, 0, 0, 0
keybd_event VK_R, 0, KEYEVENTF_KEYUP, 0
SetWindowPos g, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
End Sub

PM MAIL WWW   Вверх
XOXOJI
Дата 20.9.2008, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



неа, тоже не хочет (((

Добавлено @ 19:54
попробовал через sendkeys срабатывает редко, но иногда все же срабатывает 

Это сообщение отредактировал(а) XOXOJI - 20.9.2008, 19:57
PM MAIL   Вверх
I_Am_Rock
Дата 20.9.2008, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(XOXOJI @  20.9.2008,  19:50 Найти цитируемый пост)
неа, тоже не хочет (((

Не может такого быть... У меня все работает...

Попробуйте - проект в прикрепл. файле...

И еще проверьте, чтобы заголовок запущенного блокнота был изначальный - "Безымянный - Блокнот"

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  aaa.rar 1,35 Kb
PM MAIL WWW   Вверх
XOXOJI
Дата 20.9.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Честно, не работает, должно печататься всеря и дата, а они не выходят (
PM MAIL   Вверх
I_Am_Rock
Дата 20.9.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(XOXOJI @  20.9.2008,  20:14 Найти цитируемый пост)
Честно, не работает, должно печататься всеря и дата, а они не выходят ( 

:( Ну, не знаю тогда, у меня все работает...

Добавлено через 1 минуту и 25 секунд
Посмотрите еще здесь...
http://forum.vingrad.ru/topic-4340.html
PM MAIL WWW   Вверх
XOXOJI
Дата 20.9.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Даже не знаю в чем может быть разница, то что SP у винды могут быть разные, не думаю что влияет (( а sendkeys раза с 10-го срабатывает (
PM MAIL   Вверх
XOXOJI
Дата 21.9.2008, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо почитал ту тему, вот такой код пошел, без всяких проблем
Код

Const WM_KEYDOWN = &H100
Const VK_F2 = &H71
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const VK_R = &H74
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const KEYEVENTF_KEYUP = &H2
Dim g As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long


Private Sub Command1_Click()
g = FindWindow(vbNullString, "Безымянный - Блокнот")
SetWindowPos g, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
ShowWindow g, 3
Call PostMessage(g, WM_KEYDOWN, VK_F2, 1)
SetWindowPos g, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
End Sub



Модератор, поставь от меня плюсик, не могу еще сам (


Это сообщение отредактировал(а) XOXOJI - 21.9.2008, 07:22
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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