2013-07-10 3 views
0

Привет Я разрабатываю консольное приложение C# WM 6.5. Он работает в фоновом режиме, в то время как другое приложение имеет фокус. Я должен уметь фиксировать, когда пользователь нажимает клавишу ESC, но я не хочу вмешиваться в работу основного приложения. Я не знаю, как это сделать. Какие-либо предложения?Приложение WM 6.5 C#, захватывающее нажатия клавиш во время работы в фоновом режиме, в то время как другое приложение имеет фокус

+0

Похоже функции кейлоггера. Вы можете проверить кейлоггинг документов. –

+0

Похоже, что нет родного/простого метода, но с некоторой помощью interop (скажем, «PInvoke») и этот ответ (код C++!) В сочетании с учебным процессом он может указать вам в правильном направлении. http://stackoverflow.com/a/1047829/265165 – thmshd

+0

Вы знаете, как получать и отправлять сообщения? –

ответ

0

Можете ли вы опубликовать ваш точный метод

[System.Runtime.InteropServices.DllImport("coredll.dll")] 
public static extern short GetAsyncKeyState(int keyCode); 
if (GetAsyncKeyState(27) != 0) { //do something here cause the ESC key was pressed }