Страница: 1 |
Вопрос: Нажатие на кнопку в неизвестном приложении | Добавлено: 18.05.03 00:09 |
Автор вопроса: ![]() |
Я уже писал, но мало кто откликнулся. Итак, как с помощью моей программы нажать на кнопку в неизвестном приложении? |
Ответы | Всего ответов: 7 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ICQ: 346632205 Вопросов: 25 Ответов: 215 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 18.05.03 17:09 |
Я уже вроде отвечал на такой вопрос. Тут чистый АПИ. Сначала узнаёшь хэндл окна на котором находится кнопка, потом хандл самой кнопки, а потом посылаешь SendMessage кнопке с константой клик. |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 14 Ответов: 12 |
Профиль | Цитата | #2 | Добавлено: 18.05.03 23:33 |
А можешь послать примерчик, как всё это осуществить? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() Вечный Юзер! ICQ: uu@jabber.cz Вопросов: 120 Ответов: 3302 |
Профиль | Цитата | #3 | Добавлено: 18.05.03 23:40 |
Привет, теска... SendKeys "{ENTER}" Тогда просто в буффер клавы сбрасывается код ентра. И он соответственно уже посылается кому хочешь. Короче говоря эмулируется нажатия ентра. Если делать через SendMessage, как говорил коллега Padre, то действительно сперва надо будет хукать окошко на хэндл, потом выкорчевывать хэндл кнопочки и только потом посылать ей WM_CLICK... короче, если твоя кнопка легко находится через табулятор и реагирует на ентер, то пользуй SendKeys. |
Номер ответа: 4 Автор ответа: ![]() ![]() Вопросов: 14 Ответов: 12 |
Профиль | Цитата | #4 | Добавлено: 19.05.03 09:07 |
А как говорит коллега Padre, как это осущестить? Примерчик можете дать, плиз? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ICQ: 346632205 Вопросов: 25 Ответов: 215 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 19.05.03 14:15 |
Готового примерчика нет. Если будет время то накропаю примерчик или укажу направление поиска по-конкретней |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 220401330 Вопросов: 47 Ответов: 406 |
Профиль | Цитата | #6 | Добавлено: 19.05.03 15:49 |
Держи код: Const VK_H = 72Const VK_E = 69Const VK_L = 76Const VK_O = 79Const KEYEVENTF_EXTENDEDKEY = &H1Const KEYEVENTF_KEYUP = &H2Private Declare Sub keybd_event Lib "user32.dll" _ (ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long)Private Sub Form_KeyPress(KeyAscii As Integer) 'Print the key on the form Me.Print Chr$(KeyAscii);End SubPrivate Sub Form_Paint() 'Clear the form Me.Cls keybd_event VK_H, 0, 0, 0 ' press H keybd_event VK_H, 0, KEYEVENTF_KEYUP, 0 ' release H keybd_event VK_E, 0, 0, 0 ' press E keybd_event VK_E, 0, KEYEVENTF_KEYUP, 0 ' release E keybd_event VK_L, 0, 0, 0 ' press L keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0 ' release L keybd_event VK_L, 0, 0, 0 ' press L keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0 ' release L keybd_event VK_O, 0, 0, 0 ' press O keybd_event VK_O, 0, KEYEVENTF_KEYUP, 0 ' release OEnd Sub To UserUnknown: Запомни мальчик мой, sendkeys одна из самых глюченных функций VB |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 224590251 Вопросов: 29 Ответов: 64 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 19.05.03 22:30 |
А не пробовал перемещать мышку к кнопке - найти положение кнопки по хендлу и мышку переправить на кнопку, сэмулировать нажатие. |
Страница: 1 |
|