Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Нажатие на кнопку в неизвестном приложении Добавлено: 18.05.03 00:09  

Автор вопроса:  USER

Я уже писал, но мало кто откликнулся.

Итак, как с помощью моей программы нажать на кнопку в неизвестном приложении?

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #1
Добавлено: 18.05.03 17:09

Я уже вроде отвечал на такой вопрос. Тут чистый АПИ. Сначала узнаёшь хэндл окна на котором находится кнопка, потом хандл самой кнопки, а потом посылаешь SendMessage кнопке с константой клик.

Ответить

Номер ответа: 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

Привет, теска... :)

SendKeys "{ENTER}"

Тогда просто в буффер клавы сбрасывается код ентра. И он соответственно уже посылается кому хочешь. Короче говоря эмулируется нажатия ентра.

Если делать через SendMessage, как говорил коллега Padre, то действительно сперва надо будет хукать окошко на хэндл, потом выкорчевывать хэндл кнопочки и только потом посылать ей WM_CLICK... короче, если твоя кнопка легко находится через табулятор и реагирует на ентер, то пользуй SendKeys.

Ответить

Номер ответа: 4
Автор ответа:
 USER



Вопросов: 14
Ответов: 12
 Профиль | | #4 Добавлено: 19.05.03 09:07
А как говорит коллега Padre, как это осущестить? Примерчик можете дать, плиз?

Ответить

Номер ответа: 5
Автор ответа:
 Padre



ICQ: 346632205 

Вопросов: 25
Ответов: 215
 Web-сайт: localhost
 Профиль | | #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-сайт: www.dimon1int.narod.ru
 Профиль | | #7
Добавлено: 19.05.03 22:30
А не пробовал перемещать мышку к кнопке - найти положение кнопки по хендлу и мышку переправить на кнопку, сэмулировать нажатие.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам