Окружающая среда
- Приложение ASP.NET Core с Kestrel, размещенное как служба Windows с использованием .Net Core 2.2
- Приложение Angualar, которое доставляется через приложение ASP.NET.
- Веб-API для связи между приложением ASP.NET и Angular.
- Все работает на одном ПК с Windows. Приложение Angular всегда будет доступно только на локальном хосте.
Случай использования
Пользователь делает снимок экрана приложения WPF, также работающего на том же ПК, с помощью клавиши печати. Приложению ASP.NET теперь нужен триггер, чтобы был сделан снимок экрана, чтобы его можно было отправить в угловое приложение.
Подход к решению
Я думал, что просто буду прослушивать глобальный хук для ключа печати, а затем получать изображение из буфера обмена. Я пытался использовать низкоуровневый Windows API и различные пакеты Nuget. (например, вот этот). Либо ничего не произошло, либо приложение зависло.
Вопрос
Есть ли способ глобального прослушивания нажатия клавиши клавиша печати в приложении .Net Core 2.2 или есть другой подход, который я могу прослушивать для новых снимков экрана, сделанных пользователем?