Here is my good deed for the day. I plan on upgrading my website soon and adding a fox link with samples. I add this to it. Copy the code into a prg file. Go ahead and run it. It will create a file named "c:\deltabg.txt" and then open it based on its extension (notepad). You can also send it right to print or pass other parameters. This code also works with a URL. applaunch("
Cheers
lcFileName = "c:\deltabg.txt"
IF FILE("&lcFilename"

IF MESSAGEBOX("File deltabg.txt alreay exists",4+32,"Delta Business Group"

= 6
DELETE FILE (lcFileName)
ELSE
MESSAGEBOX("No action taken...",0,"Delta Business Group"

RETURN
ENDIF
ENDIF
STRTOFILE("Hello from Delta Business Group:
appLaunch(lcFileName)
* use this one to send it right to print
* appLaunch(lcFileName,"Print"
FUNCTION appLaunch
***********************************************************************
PARAMETER tcOutFile,tcCmd
IF PCOUNT() < 1
MESSAGEBOX("You did not provide a filename.","AppLauch Method"

RETURN
ENDIF
IF PCOUNT() < 2
tcCmd = "Open"
ENDIF
tcCmd = PROPER(tcCmd)
* This code was originally located in Ken Levy's DBF2XML program.
* API Call to communicate with an application based on the registered
* file-type.
* For example:
* On my computer txt is notepad; DOC is word
DECLARE INTEGER ShellExecute ;
IN SHELL32.DLL ;
INTEGER nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow
* tip: to determine commands available for each filetype
* Launch explorer
* go to View / Folder Options
* Select the File Type Tag
* go to the item you wish to look up (example Acrobat)
* Press Edit
* You will see acrobat has Open, Print, and Printto option types.
IF !FILE(tcOutFile)
MESSAGEBOX(tcOutFile + " does not exist!","AppLauch Method"

ELSE
* play with this.
* by adding the ,0 instead of ,1 I was able to get it to
* print directly without opening the document on my sceen.
* this is handy if you wish to print a pdf, word document,
* spreadsheet, text file, etc. from within your applicaiton.
IF tcCmd = "Print"
lnFileStatus = ShellExecute(0,"&tcCmd",tcOutFile,"","",0)
ELSE
lnFileStatus = ShellExecute(0,"&tcCmd",tcOutFile,"","",1)
ENDIF
DO CASE
CASE lnFileStatus > 32
* successful open
CASE lnFileStatus = 2
MESSAGEBOX("Bad Association (for example, invalid URL)",;
"AppLauch Method"

CASE lnFileStatus = 29
MESSAGEBOX("Failure to load application","AppLauch Method"

CASE lnFileStatus = 30
MESSAGEBOX("Application is busy","AppLauch Method"

CASE lnFileStatus = 31
MESSAGEBOX("No application association with specified "+;
"command: " + tcCmd,"AppLauch Method"

OTHERWISE
MESSAGEBOX("Unknown Error","AppLauch Method"

RETURN .F.
ENDCASE
ENDIF
Jim Osieczonek
Delta Business Group, LLC