Можно определенно использовать средства доступа в C++. Это хорошая статья , на придумывая хорошие схемы средства доступа. похожая статья А также шоу Вы простой meta класс помощника средства доступа, чтобы помочь Вам определить эти умные средства доступа тривиально.
Используйте дополнительный уровень для получения и отправки событий мыши. Затем вы можете заглушить / смоделировать этот слой для своих модульных тестов.