openWithDefaultApp.p 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*------------------------------------------------------------------------
  2. File : openLinkOnBrowser
  3. Purpose :
  4. Syntax :
  5. Description :
  6. Author(s) : javier.garcia
  7. Created : Mon Jul 01 13:54:34 CEST 2019
  8. Notes :
  9. ----------------------------------------------------------------------*/
  10. /* *************************** Definitions ************************** */
  11. DEFINE INPUT PARAMETER iParent AS INT64 NO-UNDO.
  12. DEFINE INPUT PARAMETER cOperation AS CHARACTER NO-UNDO.
  13. DEFINE INPUT PARAMETER cURL AS CHARACTER NO-UNDO.
  14. DEFINE INPUT PARAMETER cCommand AS CHARACTER NO-UNDO.
  15. DEFINE INPUT PARAMETER cDirectory AS CHARACTER NO-UNDO.
  16. DEFINE INPUT PARAMETER iWindowStyle AS INT64 NO-UNDO.
  17. DEFINE OUTPUT PARAMETER hInstance AS INTEGER NO-UNDO.
  18. /* ******************** Preprocessor Definitions ******************** */
  19. /* *************************** Main Block *************************** */
  20. RUN ShellExecuteA (INPUT iParent,
  21. INPUT cOperation,
  22. INPUT cURL,
  23. INPUT cCommand,
  24. INPUT cDirectory,
  25. INPUT iWindowStyle,
  26. OUTPUT hInstance ).
  27. /* ********************** Internal Procedures *********************** */
  28. PROCEDURE ShellExecuteA EXTERNAL "shell32.dll":
  29. DEFINE INPUT PARAMETER hWindowHandle AS INT64. /* Handle to parent window */
  30. DEFINE INPUT PARAMETER lpOperation AS CHARACTER. /* Operation to perform: open, print */
  31. DEFINE INPUT PARAMETER lpFile AS CHARACTER. /* Document or executable name */
  32. DEFINE INPUT PARAMETER lpParameters AS CHARACTER. /* Command line parameters to executable in lpFile */
  33. DEFINE INPUT PARAMETER lpDirectory AS CHARACTER. /* Default directory */
  34. DEFINE INPUT PARAMETER nShowCmd AS INT64. /* Whether shown when opened:
  35. 0 hidden,
  36. 1 normal,
  37. minimized 2,
  38. maximized 3,
  39. 0 if lpFile is a document */
  40. DEFINE RETURN PARAMETER hInstance AS INT64. /* Less than or equal to 32 */
  41. END.