TEXT TO xx <html> Testing<br>1<br>2<br>3<br> </html> ENDTEXT STRTOFILE( m.xx, "junk.html" ) nResult = api_shellexecute( "junk.html", CURDIR(), "PRINT" ) * Note - this is a proc that's been in my lib a few years and I think I lifted the code or at least the idea from the UT. PROCEDURE API_ShellExecute * WinApi :: ShellExecute ** Function: Opens a file in the application that it's ** associated with. ** Pass: lcFileName - Name of the file to open ** ** Return: 2 - Bad Association (e.g., invalid URL) ** 31 - No application association ** 29 - Failure to load application ** 30 - Application is busy ** ** Values over 32 indicate success ** and return an instance handle for ** the application started (e.g., the browser) LPARAMETERS tcFileName,tcWorkDir,tcOperation LOCAL lcFileName,lcWorkDir,lcOperation IF EMPTY ( tcFileName ) OR VARTYPE ( tcFileName ) <> "C" RETURN -1 ENDIF lcFileName = ALLTRIM ( tcFileName ) lcWorkDir = IIF ( VARTYPE ( tcWorkDir ) = "C", ALLTRIM ( tcWorkDir ), "" ) lcOperation = IIF ( VARTYPE ( tcOperation )= "C" AND NOT EMPTY ( tcOperation ), ; ALLTRIM ( tcOperation ), "Open" ) *-* HINSTANCE ShellExecute(hwnd, lpszOp, lpszFile, lpszParams, lpszDir, wShowCmd) *-* *-* HWND hwnd - handle of parent window *-* LPCTSTR lpszOp - address of string for operation to perform *-* LPCTSTR lpszFile - address of string for filename *-* LPTSTR lpszParams - address of string for executable-file parameters *-* LPCTSTR lpszDir - address of string for default directory *-* INT wShowCmd - whether file is shown when opened DECLARE INTEGER ShellExecute IN SHELL32.DLL ; INTEGER nWinHandle,; STRING cOperation,; STRING cFileName,; STRING cParameters,; STRING cDirectory,; INTEGER nShowWindow RETURN ShellExecute ( 0, lcOperation, lcFilename, "", lcWorkDir, 1 )