В общем случае необходимо соблюсти условие доступности компьютеров из разных сетей. Если сети связаны друг с другом через интернет, то возможны два варианта:
1. У обоих компьютеров белый ip-адрес
2. Имеется промежуточный сервер, который доступен из каждой сети и который может быть посредником во взаимодействии между компьютерами.
Далее, используя обычные сокеты создается подключение между компьютерами по протоколу tcp (или между компьютерами и промежуточным сервером) и один может посылать команды другому.
В качестве фреймворка для данных целе могу посоветовать Qt, т.к. там сетевой стек неплохо реализован.