В общем случае - нет.
CreateThread принимает указатель на функцию. Ей нужен адресс кода, который вы хотите выполнить. И этот самый код должен следовать определенным конвенциям вызова (stdcall). Лямбду к этому не всегда можно привести. Компилятору надо куда-то деть захваченные переменные и как-то их передать в код лямбды. Сами лямбды не обязательно используют те же конвенции вызова, что нужно CreateThread.
Иногда, если ваша лямбда stateless (не захватывает никаких переменных), то некоторые компиляторы (vs, например) смогут эту лямбду перобразовать к указателю на функцию. Но это не ваш случай, потому что у вас захватываются переменные - вам же надо как-то recoil и mouseManager использовать изнутри лямбды.
Если очень хочется лямбду, то чисто теоретически, ваши переменные можно засунуть в глобальные переменные. И тогда лямбда не будет ничего захватывать. Но это дичайший говнокод - так делать не надо.