Страница: 1 |
Я уже писал, но мало кто откликнулся. Итак, как с помощью моей программы нажать на кнопку в неизвестном приложении?
Я уже вроде отвечал на такой вопрос. Тут чистый АПИ. Сначала узнаёшь хэндл окна на котором находится кнопка, потом хандл самой кнопки, а потом посылаешь SendMessage кнопке с константой клик. Привет, теска... SendKeys "{ENTER}" Тогда просто в буффер клавы сбрасывается код ентра. И он соответственно уже посылается кому хочешь. Короче говоря эмулируется нажатия ентра. Если делать через SendMessage, как говорил коллега Padre, то действительно сперва надо будет хукать окошко на хэндл, потом выкорчевывать хэндл кнопочки и только потом посылать ей WM_CLICK... короче, если твоя кнопка легко находится через табулятор и реагирует на ентер, то пользуй SendKeys. Держи код: Страница: 1 |
Вопрос: Нажатие на кнопку в неизвестном приложении
Добавлено: 18.05.03 00:09
Автор вопроса: USER
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Padre
ICQ: 346632205
Вопросов: 25
Ответов: 215
Web-сайт:
Профиль | | #1
Добавлено: 18.05.03 17:09
Номер ответа: 2
Автор ответа:
USER
Вопросов: 14
Ответов: 12
Профиль | | #2
Добавлено: 18.05.03 23:33
А можешь послать примерчик, как всё это осуществить?
Номер ответа: 3
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #3
Добавлено: 18.05.03 23:40
Номер ответа: 4
Автор ответа:
USER
Вопросов: 14
Ответов: 12
Профиль | | #4
Добавлено: 19.05.03 09:07
А как говорит коллега Padre, как это осущестить? Примерчик можете дать, плиз?
Номер ответа: 5
Автор ответа:
Padre
ICQ: 346632205
Вопросов: 25
Ответов: 215
Web-сайт:
Профиль | | #5
Добавлено: 19.05.03 14:15
Готового примерчика нет. Если будет время то накропаю примерчик или укажу направление поиска по-конкретней
Номер ответа: 6
Автор ответа:
ZeroX
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
А не пробовал перемещать мышку к кнопке - найти положение кнопки по хендлу и мышку переправить на кнопку, сэмулировать нажатие.