Вариантов море, напр. вот кусочек из drkb
Код:
uses ShellAPI;
…
var
h: hwnd;
begin
// Используем ShellExecute
if ShellExecute(h, 'open', 'readme.txt', nil, nil, SW_SHOW) < 32 then
begin
ShowMessage('Немогу выполнить ShellExecute !')
end;
// Используем WinExec
if WinExec('Notepad c:\config.sys', SW_SHOW) < 32 then
begin
ShowMessage('Немогу выполнить WinExec !')
end;
end;
а есть ещё ShellExecuteEx или CreateProcess...