uses ShellApi;
....
var
ExecInfo: SHELLEXECUTEINFO;
begin
ZeroMemory(@ExecInfo, SizeOf(SHELLEXECUTEINFO));
ExecInfo.cbSize := SizeOf(SHELLEXECUTEINFO);
ExecInfo.fMask := SEE_MASK_NOCLOSEPROCESS;
ExecInfo.Wnd := 0;
ExecInfo.lpVerb := 'print'; ExecInfo.lpFile := 'C:\Nombre_Carpeta\Nombre_Archivo.txt'; ExecInfo.lpParameters := '';
ExecInfo.nShow := SW_SHOWNORMAL;
if not ShellExecuteEx(@ExecInfo) then
if GetLastError <= 32 then
SysErrorMessage(GetLastError)
end;