Вообще, с этими всеми keybd_event() и mouse_event(), а также с их более новым аналогом — SendInput(), если одна большая проблема. Окно, которому посылаются клавиши, должно быть активно и иметь фокус (это по максимуму). А как минимум это окно должно быть наверху (foreground).
Если есть хендл окна, то лучше передавать сообщения через SendMessage(), PostMessage(), PostThreadMessage(), etc.