Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SendKeys "{F1}" в приложение / 12 сообщений из 12, страница 1 из 1
29.12.2007, 08:53
    #35041372
wildrain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Доброго времени суток.

Код: plaintext
1.
AppActivate "Мое приложение" 'Активируется окно
SendKeys "{F1}" 'Выдает ошибку Run-time error  70  Permission denied

Каким способом еще можно отправить нажатие кнопки в приложение?
Находил упоминания про keybd_event и SendMessage, но описания этих функций не нашел.
Если можно простенький пример.
...
Рейтинг: 0 / 0
29.12.2007, 09:45
    #35041433
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
попробуй
Код: plaintext
1.
AppActivate "Мое приложение",  1 
SendKeys "{F1}",  1 
...
Рейтинг: 0 / 0
29.12.2007, 10:23
    #35041499
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
ещё вариантик
Код: plaintext
1.
2.
3.
4.
5.
Private Sub Command1_Click()
    Dim app1 As Double
    app1 = Shell("notepad", vbNormalFocus)
    AppActivate app1, False
    SendKeys "{F1}", True
End Sub
...
Рейтинг: 0 / 0
29.12.2007, 11:07
    #35041587
wildrain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Окно приложения становится активным, в этом проблем нету.
Ошибка происходит из-за SendKeys.
...
Рейтинг: 0 / 0
29.12.2007, 11:34
    #35041652
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Вопрос
кроме {F1}, работает какая-нибудь другая клавиша?
...
Рейтинг: 0 / 0
29.12.2007, 12:00
    #35041707
wildrain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Нет. Приложение не реагирует на даную команду.
...
Рейтинг: 0 / 0
29.12.2007, 13:31
    #35042008
Guest11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Объявления для keybd_event:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Declare Sub keybd_event Lib "user32" _
    (ByVal bVk As Integer, _
    ByVal bScan As Integer, _
    ByVal dwFlags As Integer, _
    ByVal dwExtraInfo As Integer)

Private Const vKF1 = &H70
Private Const KEYEVENTF_KEYDOWN = &H0
Private Const KEYEVENTF_KEYUP = &H2
Вызов:
Код: plaintext
1.
    keybd_event vKF1,  0 , KEYEVENTF_KEYDOWN,  0 
    keybd_event vKF1,  0 , KEYEVENTF_KEYUP,  0 
...
Рейтинг: 0 / 0
29.12.2007, 18:15
    #35042373
wildrain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Видно приложение хитрое :(, не реагирует.
Возможен еще один вариант. Кликнуть в определенном месте окна приложения мышкой. Курсор ставить в нужное место получилось:

Код: plaintext
1.
2.
3.
4.
Private Declare Function SetCursorPos& Lib "user32" (ByVal X As Long, ByVal Y As Long)

Private Sub Form_Load()
SetCursorPos mX, mY ' Моя позиция курсора в приложении
End Sub

Как теперь кликнуть?

2 guest11
Большое спасибо за ответ. Где можно узнать про то, какой &H?? отвечает за нажатие соответствующей клавиши?
...
Рейтинг: 0 / 0
29.12.2007, 18:25
    #35042378
wildrain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Упс :-( курсор тоже не передвигается этой функцией :-(, хотя если приложение не активно по десктопу прыгает.
Как можно перехватить управление мышкой или клавой из такого рода приложений?
...
Рейтинг: 0 / 0
05.01.2008, 16:10
    #35045825
wildrain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Столкнулся с тем же и в Делфи.
Может кто-то пробовал передавать нажатия кнопок мышки в Lineage 2?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.02.2010, 02:43
    #36468847
Дмиртий_Axe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Пааарниииииии!!!! я понял!!!! Вы попробуйте написать:

AxePrivate Sub Command1_Click()
Dim app1 As Double
app1 = Shell("notepad", vbNormalFocus)
AppActivate app1, False
SendKeys "{F1}", True
End Sub


НО!!! когда нажимаешь плэй пишет ошибку, так ведь? Но мы то знаем что все работает правильно)))
Сохраняем проект как *.exe и он работает нормально!! я специально зарегистрировался чтобы это написать))
если что пишитe toporkov@xaker.ru
...
Рейтинг: 0 / 0
15.02.2010, 10:19
    #36469085
FAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SendKeys "{F1}" в приложение
Дмиртий_AxeПааарниииииии!!!! я понял!!!!

Отлично! Всего два года, проблема тщательно продумана и уже доросла до такого уровня, что можно регистрироваться на форуме.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SendKeys "{F1}" в приложение / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]