Do ShellDoc With "c:\myDocument.dxc"
Procedure ShellDoc()
Lparameters lsFile
#Define SW_HIDE 0
#Define SW_SHOWNORMAL 1
#Define SW_NORMAL 1
#Define SW_SHOWMINIMIZED 2
#Define SW_SHOWMAXIMIZED 3
#Define SW_MAXIMIZE 3
#Define SW_SHOWNOACTIVATE 4
#Define SW_SHOW 5
#Define SW_MINIMIZE 6
#Define SW_SHOWMINNOACTIVE 7
#Define SW_SHOWNA 8
#Define SW_RESTORE 9
#Define SW_SHOWDEFAULT 10
#Define SW_FORCEMINIMIZE 11
#Define SW_MAX 11
#Define SE_ERR_NOASSOC 31
Declare Integer GetDesktopWindow In user32.Dll
Declare Integer GetSystemDirectory In kernel32.Dll ;
STRING @lsBuffer, ;
INTEGER liSize
Declare Integer ShellExecute In shell32.Dll ;
INTEGER, ;
STRING @lsOperation, ;
STRING @lsFile, ;
STRING @lsParameters, ;
STRING @lsDirectory, ;
INTEGER liShowCmd
lsOperation = "open"
liRet = ShellExecute(GetDesktopWindow(), @lsOperation, @lsFile, ;
"", "", SW_SHOWNORMAL)
If liRet = SE_ERR_NOASSOC
lsSysDir = Space(260)
liRet = GetSystemDirectory(@lsSysDir, Len(lsSysDir))
lsSysDir = Substr(lsSysDir, 1, liRet)
lsRun = "RUNDLL32.EXE"
lsParameters = "shell32.dll,OpenAs_RunDLL "
liRet = ShellExecute(GetDesktopWindow(), "open", lsRun,;
lsParameters + lsFile, lsSysDir, SW_SHOWNORMAL)
Endif
Endproc