Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2007, 11:14   #21
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
Вопрос

Надо спросить у местных.

Вроде где-то тут говорили про некоторую прогу. Она может сказать из каких элементов состоит окно.

::: Хотя ты такой штукой наверное и пользовался

Уточни, пожалуйста.
Код:
PostMessage (MyEditHandle, WM_CHAR, 72, 1);
PostMessage (MyEditHandle, WM_CHAR, 98, 1);
PostMessage (MyEditHandle, WM_CHAR, 99, 1);
PostMessage (MyEditHandle, WM_CHAR, 107, 1);
В такой интерпритации тоже не работает?

Последний раз редактировалось zetrix; 20.11.2007 в 15:26.
Sibedir вне форума Ответить с цитированием
Старый 20.11.2007, 13:50   #22
nechto
Пользователь
 
Аватар для nechto
 
Регистрация: 13.11.2007
Сообщений: 26
По умолчанию

Нет, WM_CHAR не ест
nechto вне форума Ответить с цитированием
Старый 20.11.2007, 14:08   #23
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Загадка природы.
Ладно пойду домой, чёнить почитаю.
Просто у меня на горизонте такая же задача. Мы этого так не оставим.
Sibedir вне форума Ответить с цитированием
Старый 20.11.2007, 15:28   #24
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
Вроде где-то тут говорили про некоторую прогу. Она может сказать из каких элементов состоит окно.
DeDe - декомпилятор для делфи. Из ехе выдаст Вам исходники. Открываете их в делфи и видите все компоненты, где и как они расположены.
Код конечно же на ассемблере получите
zetrix вне форума Ответить с цитированием
Старый 21.11.2007, 07:37   #25
nechto
Пользователь
 
Аватар для nechto
 
Регистрация: 13.11.2007
Сообщений: 26
По умолчанию

К великому сожалению VPN Client цисковский написан не на дельфях и декомпилировать не выходит, а вот дизасемблировать вроде можно, но там просто ппц.
nechto вне форума Ответить с цитированием
Старый 21.11.2007, 07:43   #26
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Посмотри здесь. В ответе #13 есть не плохой пример от автора. Может это поможет?
Sibedir вне форума Ответить с цитированием
Старый 21.11.2007, 10:06   #27
nechto
Пользователь
 
Аватар для nechto
 
Регистрация: 13.11.2007
Сообщений: 26
По умолчанию

Не помогает.
nechto вне форума Ответить с цитированием
Старый 21.11.2007, 14:31   #28
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
Лампочка

Попробуй так:

Код:
  Sleep (500);
  keybd_event(vk_Shift, 0, 0, 0);
  PostMessage (eh, WM_KEYUP, 72, 0);
// я не понял твоей функции
// keybd_event(vk_Shift, mapvirtualkey(vk_menu, 0), keyeventf_keyup, 0);
// Не рулю в WinAPI. Поэтому тупо отпускаем Shift
  keybd_event(vk_Shift, 0, KEYEVENTF_KEYUP, 0);
  Sleep (500);
  PostMessage (eh, WM_KEYUP, 66, 1);
  PostMessage (eh, WM_KEYUP, 67, 1);
  PostMessage (eh, WM_KEYUP, 75, 1);
Главное здесь задержка Sleep. У меня с задержкой работает.
Sibedir вне форума Ответить с цитированием
Старый 21.11.2007, 15:38   #29
nechto
Пользователь
 
Аватар для nechto
 
Регистрация: 13.11.2007
Сообщений: 26
По умолчанию

Заработало, что и доказывает, что иногда мне не вредно и подумать Спасибо.
nechto вне форума Ответить с цитированием
Старый 22.11.2007, 06:39   #30
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Попытаюсь объяснить. Хоть и коряво. Если кто понимает в этом больше, прошу поправить меня.

Дело в том, что процедуры keybd_event и PostMessage используют разные технологии генерации событий. Процедура keybd_event генерирует в системе нажатие клавиши, и если в этот момент произошла задержка в системе, то все события, которые следуют за нажатием кнопки, произойдут позже. Другими словами, выполнение keybd_event зависит от состояния всей системы. А PostMessage, в свою очередь, зависит от состояния приложения, которому посылается сообщение. Вот и получается что работают они параллельно, а не последовательно (точнее, когда как).

Как то так.
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоперключение шрифта и регистра Максим_Леонидович Общие вопросы Delphi 3 25.08.2008 01:13
Вопрос по ключам Регистра Vognedar Общие вопросы Delphi 2 03.07.2008 14:48
Отмена учета регистра Македонский Общие вопросы Delphi 7 12.09.2007 09:41
Запись регистра xak2 Общие вопросы Delphi 4 07.05.2007 22:18
Поиск без учёта регистра Маркъ Общие вопросы Delphi 4 15.03.2007 19:28