Полагаю, вам нужно разбить его:
- Определить, когда мышь движется или зависает
- Отправить двойной клик
Для 1 я бы посмотрел на: захват WM_MOUSEMOVE , если вы хотите собственное определение «зависания». Например, имея больший порог того, сколько движений вы будете терпеть, и при этом считайте его «парящим». Или вы можете использовать определенный порог ОС и искать WM_MOUSEHOVER
Для 2 SendInput должен доставить вас туда
Полагаю, вам здесь все равно, что под мышкой само по себе. Например, вы не будете вести себя иначе, в зависимости от того, что находится под мышью. Например, вы бы отправили двойной щелчок при наведении курсора на заголовок, а также при наведении курсора на файл.
Эта статья о проекте создает приложение в стиле Spy ++, которое должно помочь.