Окно приложения неактивно, когда оно "свернуто" в трей. Оно не может следить за событиями клавы само, ибо просто не получает никаких таких событий в этом состоянии. Потому, чтобы отловить события инпутов (клавы или мыши) требуется устанавливать глобальный хук ("ловушка"-hook). Без длл не обойтись.
Коротко, глобальный хук - это программный модуль, который подгружается в любой активный процесс и обрабатывающий его системную очередь сообщений заданным образом, в том числе и нажатие клавиш. Модуль может перехватывать события, модифицировать их, либо просто информировать целевое приложение о их наступлении. Модуль обязательно должен быть выполнен в виде самостоятельной длл, ибо иначе система не сможет нормально его подгружать в АП процессов по необходимости.
Для реализации такой штуки, как ваша, потребуется две длл: одна будет непосредственно подключаться к цинк-ехе, ставить хук, принимать инфу от хука и слать ее в цинк по LocalConnection, к примеру(сам цинк не может сделать этого, нужно расширение его возможностей, в том числе, он не может "слушать" события, потому и LC), ну и длл с самим хуком.
Пример для цинка 2.5.0.34 и мыши. Тут, правда, для удобства разбито на три длл. Попробуйте модифицировать ту, что glmhook.dll, под перехват событий клавы.
Судя по отзывам в личке работало.
Ну, а про то как цинк работает с длл, смотрите хэлп. Там все просто.
СДК для написания длл -
http://www.multidmedia.com/support/a...on=detail&id=6
ЗЫ. Прочитал написанное и ужаснулся.