Something you should look into might be the Process Class .
A quick example.
Code:
using System.Diagnostics;
Process proc = new Process();
proc.StartInfo.FileName ="C:\\WINDOWS\\Notepad.exe";
proc.StartInfo.Arguments = "fileToBeOpened.txt";
proc.Start();
This will open the specified file ( argument ) in notepad.
From what I know you can let every program run like this. So basically when programming something like a scheduler you would just let it run in the background the whole time, and on a specified date-time youŽll have the app trigger an event that will start all the processes you want to start.
Although I think that if you really want to be able to acces most of the functions etc etc from a random program, you should have the SDK or be able to add a reference from within - and i assume here you are using Microsoft Visual Studio - visual studio so that you will be able to communicate with the program - for instance schedule a playlist to be played at a certain date-time.
You will have to add a reference to your project Project->Add reference->COM->Windows Media Player.
The rest is actually pretty easy especially when going to the MSDN library. Although I just see that they recommend using the SDK of Windows Media Player 9...
Anyway I think thats the way to go for a project like that.