Раз уж консольная программа написана Вами, то решение может быть проще. Программы могут общаться между собой по pipe. Т.е. вы можете реализовать это и GUI будет просто отправлять консоли команду, а она будет корректно закрываться.
Как правильно выше заметили, эмуляцию клавиатуры лучше не использовать.