You can talk to the FC with OpLink, USB, or serial. GCS can act as intermediate to convert network packets into these. GCS can read a joystick and send control commands too. Serial can be connected to some RF modems to mimic a pair of OpLinks.
I would recommend that you modify the GCS to read from the other program and send to the FC, since it already knows how to do this and has some very helpful debugging stuff (look at the System tab to see the UAVOs in real time).