>>>>LPARAMETERS cApplication, cStartFolder, cParamString >>>> >>>> LOCAL iRetVal >>>> >>>> IF EMPTY(cParamString) >>>> cParamString = "" >>>> ELSE >>>> cParamString = '"' + cParamString + '"' >>>> ENDIF >>>> >>>> IF EMPTY(cStartFolder) >>>> cStartFolder = "" >>>> ENDIF >>>> >>>> DECLARE INTEGER GetDesktopWindow IN WIN32API >>>> > DECLARE INTEGER ShellExecute IN shell32; >>>> INTEGER hwnd,; >>>> STRING lpOperation,; >>>> STRING lpFile,; >>>> STRING lpParameters,; >>>> STRING lpDirectory,; >>>> INTEGER nShowCmd >>>> >>>> hWnd = GetDesktopWindow() >>>> >>>> iRetVal = ShellExecute(hWnd, "open", cApplication, cParamString , cStartFolder, 5) >>>> >>>>RETURN >>>> >>>>>>>
>>> DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER nWinHandle,; >>> STRING cOperation,; >>> STRING cFileName,; >>> STRING cParameters,; >>> STRING cDirectory,; >>> INTEGER nShowWindow >>> result = ShellExecute(hWnd, "open", cExtention, cParams, cFolder, 5) >>> DO CASE >>> CASE result == 0 && The system is out of memory or resources. >>> msg = "The system is out of memory or resources." >>> CASE result == 2 && Bad Association (for example, invalid URL) >>> msg = "invalid URL" >>> CASE result == 29 && Failure to load application >>> msg = "Fail to load application" >>> CASE result == 30 && Application is busy >>> msg = "Application is busy" >>> CASE result == 31 && No application association >>> msg = "No application association" >>> ENDCASE >>> IF INLIST(result, 0, 2, 29, 30, 31) >>> MessageBox(msg, 0 + 64, "Error") >>> ENDIF >>>