You could use Process.Start() as long as your program excepts parameters to be passed into it. So if i create an app that had a form on it and I asked the user for a URL I could open Internet Explorer with the following code:
Process.Start("IExplore.exe", "www.google.com"); which will open IE at Google.
Here is the thing though, if the program you want to use to open your mml files is not integrated into the windows shell (what i mean by this is that if i open a run menu i can simply type iexplore into it and windows will open Internet Explorer) you will need to provide the physical path to the exe as the first parameter of Proccess.Start().
More info can be found here:
Read this if you want to know how to get a correct reply for your question:
.: Wrox Technical Editor :.
Wrox Books 24 x 7