>>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 >