Хосспади, укрепи душу, дай терпения. Все не просто запущено, а покрыто пылью, паутиной и витает дух тлена.
Осознаешь ли ты, что результат GetKeyboardLayout нужно не испустить в воздух, а чему-то присвоить, дабы понять ru это или en? А обратил ли внимание, что GetWindowThreadProcessId имеет два аргумента? Понимаешь ли смысл сообщения об ошибке? Хотя бы английский знаешь?
Прочитай приложенный файл и пусть тебя осенит свет знаний хоть немного.