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