There are generally only a few "acceptable" solutions to problems like this:
Simulate user input
Programatically send keystrokes and mouse clicks
- Pros: Compatible with most GUI programs you can think of
- Cons: Kludgy, not good at handling any kind of unexpected behavior (i.e. error dialogs). Have to know which windows you're expecting to communicate with ahead of time. Dialogs change from one version to the next, so your program often stops working with new releases.
Program API
Communicate directly with the program using calls that it natively understands (play, stop, etc).
- Pros: Much easier programming experience, cleaner and fewer bugs than simulating input
- Cons: Very few applications actually expose an API. And for those that do, you're limited to the functionality supported by the API (which may not include everything the program is capable of).
Scripts
Some programs allow scripting languages (VBScript for example)
- Pros: Same pros as API
- Cons: Have to somehow programatically get the program to open the script, which may or may not be easy depending on the program.
As for those programs specifically I can't comment. I don't know if they expose any kind of API. I imagine some of them might (media player for example I would think has some of this). Don't quote me on that though. I hope this helps.