Как максимально просто реализовать запуск программы на компьютере по нажатию механической кнопки?
https://www.google.com/search?q=big+button+usb&tbm=isch

А ещё можно взять клавиатуру с доп.кнопками, подпаять проводки к контактам, например, кнопки e-mail, присоединить большую кнопку и в настройках Windows назначить желаемую программу вместо почтового клиента. И никакого программирования. :)

Организационно это решается так - на ПК должен быть драйвер, который управляет каким-либо устройством, или в данном случае смотрит состояние устройства и выполняет то, что ему задано алгоритмом. Но вполне можно для низких скоростей обойтись любой прикладной программой, и слушать любой низкоскоростной порт - COM, LPT. Например, как подсказали, слушать состояние какого-то сигнала на COM порту, и делать действия нужные. Кроме кнопки, нужно по-хорошему сделать устройство сопряжения между кнопкой собственно и ПК. Например, к ПК будет COM порт смотреть или LPT, а устройство будет внутри по нажатию кнопки переключать триггер, а возвращать его состояние либо по таймауту (допустим, 0,3...0,5с, да хоть 10 секунд), либо по сигналу с ПК (драйвер или программа на ПК посмотрела что состояние сигнала изменилось, сделала что нужно, и послала на другой вывод свой сигнал). 
spoilerВ древние времена (в начале 2000х) делал на коленках через LPT порт и программку на QBASIC небольшую управление через датчик освещённости (да обычный фоторезистор), свет в комнате включился - выполняет одни действия, выключился  - другие. Ничего сложного особо. На выход тоже делал через LPT управление громкостью звука на через самодельный цифровой регулятор громкости, подключенный к LPT опять же.