Most programming languages, and many applications, allow sending and receiving serial data.
The Arduino does, too.
So, if your application, on the PC, can send and receive serial data, or can be made to, then, it can communicate with the Arduino.
What you make it send, and how you make the Arduino react to what was received is limited only by your imagination and skills. And, maybe a little by the limitations imposed by the Arduino itself (memory, speed, etc.).