|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.08.2007, 17:25 | #11 |
Пользователь
Регистрация: 14.04.2007
Сообщений: 28
|
Уточнение: до начала этого цикла repeat...until не использовались никакие функции типа SetKeyboardState, GetKeyboardState и т.п.
И еще: насчет приведенного кода который вроде бы некорректный (но ведь работает): как видно, 1-й параметр здесь для всех символов постоянный - это 17, а 2-й параметр - изменяется, и соответственно ему выводятся последовательно символы x,c,v,b,n и т.д. Значит 2-й параметр, получается, отвечает за виртуальный код клавиши, а ведь в описании функции - это должен быть 1-й параметр. Не понимаю... Дельфи что ли с ума сошёл, али че? Последний раз редактировалось Hintman; 23.08.2007 в 17:31. |
23.08.2007, 18:30 | #12 |
Пользователь
Регистрация: 14.04.2007
Сообщений: 28
|
На форму бросил Edit и написал такую процедуру:
Код:
причем в маленьком регистре, как писал still_alive. Не совсем понятно, как из 'S' стало 's', но это не столь существенно. А вот теперь то, что требуется: требуется нажать 's' в чужом окне. Код такой: Код:
Прошу помощи. |
23.08.2007, 18:55 | #13 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
PS A зачем KEYEVENTF_EXTENDEDKEY? Это для расширенных клавиш. Кроме этого, в коде ошибок не вижу, покажи обработчик другой проги, если твоя или посмотри на раскладку в той проге и на фокус... |
|
23.08.2007, 18:57 | #14 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
И слип убери, зачем он?
|
23.08.2007, 19:08 | #15 |
Пользователь
Регистрация: 14.04.2007
Сообщений: 28
|
Спасибо за ответ.
KEYEVENTF_EXTENDEDKEY и Sleep действительно не нужно использовать, просто я и так делал, и так - ну никак не работает. По вопросам: 1) Прога в которую нужно осуществить ввод не моя. 2) "Посмотри на раскладку в той проге и на фокус." C раскладкой и фокусом в той проге все нормально, это точно. И у меня получается туда вводить символы, но каким-то странным образом. А именно: ничего не происходит когда я пишу Код:
Код:
Что еще мне подсказать, чтобы прояснить ситуацию? |
23.08.2007, 19:21 | #16 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
хз, второй параметр, как написано в хелпе, вообще не используется, ибо это скан-код, который можно из виртуального кода получить. Первое по-любому должно работать, имхо.
Что еще могу сказать... ну попробуй SendInput. Надеюсь, англ знаешь? Тогда в хелп. |
23.08.2007, 19:50 | #17 |
Пользователь
Регистрация: 14.04.2007
Сообщений: 28
|
still_alive, огромное спасибо!!!
Все получилось! Вот код, может кому пригодится: Код:
при использовании keybd_event, SendMessage остался открытым... |
23.08.2007, 19:53 | #18 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
|
|
01.11.2007, 01:25 | #19 |
Новичок
Джуниор
Регистрация: 31.10.2007
Сообщений: 2
|
Действительно работает, спасибо за код!
Затрудняюсь передать этим способом клавишу с модификатором Shift. Как реализовать? |
01.11.2007, 02:12 | #20 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция Tregistry.keyexists не работает | Ozerich | Общие вопросы Delphi | 5 | 18.09.2008 09:42 |
Не работает функция gets()!!! | Ilya'91 | Общие вопросы C/C++ | 1 | 28.07.2008 23:16 |
Не работает функция floor в Java | POPOV | Помощь студентам | 1 | 24.04.2008 14:08 |
keybd_event | [Smarik] | Win Api | 1 | 23.03.2008 18:11 |
не корректно работает функция "если" (+) | zetrix | Microsoft Office Excel | 0 | 30.10.2006 19:19 |