Ну да. Знаешь, как сделать глобальный MouseMove? Используя GetCursorPos, ищешь положение курсора на экране и, если 5 мс назад он был не там, где сейчас, то он передвинулся

, произошло событие. А здесь тебе нужно то же самое, только ещё отфильтровывать движения мыша вне формы.
P.S. если не понял, поищи пример с глобальным MouseMove (на форуме был)...