Я делаю определяемые пользователем ключевые макросы для программы. (Эти макросы ограничены этой программой.)Обход клавиатуры, ввод мыши и пропуск SendInput
Я использую TApplicationEvents для записи ключевых сообщений. И затем используйте SendInput, чтобы воспроизвести их. Но мне нужно отключить мышь и клавиатуру, чтобы она не прерывала воспроизведение.
Я не могу использовать JournalPlaybackProc и JournalRecordProc, потому что они подчиняются UAC, UIPI в Vista и Win7.
Есть ли простой способ блокировать ввод мыши и клавиатуры при использовании SendInput. (Способ, который не требует повышенных привилегий.)
Также мне нужна одна клавиша выхода, которая останавливает воспроизведение.
EDIT: TControl.Perform не работает, поскольку он игнорирует горячие клавиши.
Я думал об использовании зарезервированного nibble (бит 25-28) в сообщениях WM_KEY, но в документации к окнам говорится, что он зарезервирован и не используется. Каковы могут быть последствия.
Это хорошая идея. Но это одна проблема - она не охватывает несколько форм. Ex. Если кнопка открывает новую форму, а затем она делает что-то в этой новой форме. Я думаю, возможно, как-то можно получить активную форму, а затем перенаправить туда вход. – Egon
Я думаю, что я нашел дополнительную вещь, в которой мне нужно «Screen.ActiveForm» ... (я буду тестировать завтра ...) – Egon
ОК почти, но это не очень хорошо сочетается с горячими клавишами ... – Egon