Что мне нужно сделать:ярлыки Захват клавиатуры и вперед
мне нужно, чтобы захватить все нажатия клавиш быстрого доступа, такие как Ctrl + S от конкретного применения. Любая комбинация клавиш, даже если это не ярлык для этого приложения.
Затем мое приложение midway, которое захватывает эти ключи, должно проверить эту комбинацию клавиш и проверить, может ли другое из наших приложений работать на этот ключ, и если он может отправить ему команду.
То, что я до сих пор:
Поскольку мы писали другие приложения, мы можем легко отправить ключи для обработки, что это не проблема. Я могу получить дескриптор окна приложения. Мне нужно захватить сочетания клавиш. Это приложение, которое я знаю, оно построено на C++. Я ищу, чтобы найти способ, чтобы захватить эквивалент следующего события в Winforms:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
Сейчас все работает, как ожидается, на ключевой части вперед. Мне просто не хватает захвата ключей на этом дескрипторе. Я действительно не хочу прибегать к тому, чтобы подключить всю клавиатуру и определить, выполняется ли ключевой штрих в моих приложениях или нет, и мне нужно отменить ключ или продолжить процесс. Я бы предпочел также получать только ключевые комбинации событий. Я бы предпочел не получать все письма, которые нажимает парень, когда он вводит текстовое поле или что-то еще. Я действительно искал что-нибудь, начиная с CTRL, ALT, SHIFT или любой их комбинации
Пример того, что я хочу сделать:
бесконтрольное применение: Notepad.exe мое приложение midway: ShortcutHandler.exe Мои целевые приложения: A.exe, B.exe
ShortcutHandler.exe будет слушать ярлыки Notepad.Exe, а затем перенаправить их на A.exe a й b.exe
Ситуация:
1 - in Notepad.exe press CTRL+H for replace
2 - ShortcutHandler.exe detect CTRL+H pressed on Notepad.exe
3 - ShortcutHandler.exe Analyse CTRL+H and knows it need to do some task
4 - ShortcutHandler.exe call Save on A.exe in reaction to CTRL+H in Notepad.exe
5 - ShortcutHandler.exe call Print report in B.exe in reaction to CTRL+H in Notepad.exe
Если вы написали другие приложения, то почему бы не иметь ваши приложения сказать другое приложение, что они должны делать что угодно? –
@RowlandShaw, потому что он хочет подключить произвольные нажатия клавиш/комбо в * любом приложении, а затем выполнить некоторые действия в своем приложении, когда это произойдет. – xan
Помогают ли вам глобальные горячие клавиши? То, что вы пытаетесь сделать, звучит немного подозрительно - возможно, добавление некоторого объяснения того, что вы пытаетесь достичь, поможет – xan