Есть несколько способов.  На WxWidgets это: 
 1) wxExecute - С явным заданием программы. Что,ы открыть какую-то программу и передать ей что-то в качестве аргумента можно использовать wxExecute. 
 Пример: 
 wxExecute(wxString("notepad.exe c:\\smth.txt"),wxEXEC_ASYNC); 
 2) WxShell - с неявным заданием программы. 
 wxShell( wxString(".\\help\\help.doc") ); 
 открывает в установленной в Windows по умолчанию программе - файл help.doc, 
 но еще и открывает консольное окно, 
 хотя можно сделать автом. закрытие: 
 wxShell( wxString(".\\help\\help.doc\nexit") ); 
 _______________________________________ 
 Под Win API: 
 1) явное задание обрабатывающей программы 
 ShellExecute(NULL, NULL,"iexplore.exe", "c:\\new.xml", NULL, SW_SHOWNORMAL); 
 2) неявное задание обрабатывающей программы, т.е. исп-ся прога по умолчанию 
 ShellExecute(NULL, "open","c:\\new.xml", NULL,NULL, SW_SHOWNORMAL);