Перейти к содержанию
Fire Monkey от А до Я
  • 0

Наиболее безопасный способ отправки комбинации клавиш главному окну приложения


Vasya

Вопрос

Опубликовано (изменено)

Приветствую всех!

Как наиболее безопасным способом послать главному окну другого приложения комбинацию клавиш? В качестве подопытного я взял саму оболочку Delphi и пытался ей отправлять Ctrl+F9 (компиляция):
 

  PostMessage(H, M.wParam, VK_LCONTROL, KF_EXTENDED shl 16);
  Sleep(50);
  PostMessage(H, M.wParam, VK_F9, 0);
  Sleep(50)

M.wParam равен либо WM_KEYDOWN, либо WM_KEYUP (смотря какое сообщение M придёт).

Не всё так просто! Если отправлять часто, то иногда Delphi реагирует на F9 без Ctrl (запускает отладку). Вероятность сбоя достаточно высокая, чтобы данный метод не считать надёжным. Вышеприведённый код находится в глобальном хуке WH_KEYBOARD_LL и в принципе не может отправлять F9 без Ctrl.

Изменено пользователем Vasya

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...