home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / wp / ezhelp.zip / SPAWNHLP.C < prev    next >
C/C++ Source or Header  |  1991-03-31  |  3KB  |  85 lines

  1. /* ======================================================================== */
  2. /* FILE: SPAWNHLP.C */
  3.  
  4. #include <process.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8.  
  9. /* ======================================================================== */
  10. /* FUNCTION: SpawnHelp
  11. *
  12. *  This function can be linked into C programs and called to
  13. *  spawn the EZhelp Reference system.
  14. *
  15. *  Parameters:  iMenu     - Menu to start EZhelp. If NULL is passed,
  16. *                           Menu 1 will be shown.
  17. *               iHelp     - Topic to jump directly into. If NULL is
  18. *                           passed, the menu will be shown.
  19. *               fDispErr  - Pass TRUE if errors should be displayed,
  20. *                           FALSE otherwise.
  21. *               fLoc      - Help window anchor (1 - 9). If NULL
  22. *                           is passed, the default of 5 (center)
  23. *                           will be used.
  24. *               fOverLap  - If TRUE is passed, the window displays
  25. *                           will overlap. If FALSE is passed, the
  26. *                           original screen will restored between
  27. *                           text window displays.
  28. *
  29. *  Returns: The result of the spawnv() call.
  30. *
  31. *  Notes: If the EZhelp command line parameter -T is to be used,
  32. *         format it directly into the *args[] parameter below.
  33. *         None of the other *args[] parameters need to be
  34. *         modified, as the SpawnHelp() parameters will format
  35. *         them.
  36. *
  37. */
  38. int
  39. SpawnHelp(int iMenu, int iHelp, int fDispErr,
  40.           int fLoc,  int fOverLap) {
  41.  
  42.   int iSize;
  43.   char *pArg;
  44.   char *path = "EZHELP.EXE";
  45.   char *args[] = { "EZHELP.EXE",
  46.                    "EZSETUP.TXT",  /* use your reference name here */
  47.                    "-M   ",
  48.                    "-J   ",
  49.                    "-E0  ",
  50.                    "-L5  ",
  51.                    "-O0  ",
  52.                    "-TEZsetup_utility",  /* startup menu string */
  53.                    0 };
  54.  
  55.   pArg = args[2];
  56.   pArg += 2;
  57.   iSize = iMenu < 10 ? 1 : 2;
  58.   sprintf(pArg,"%*d", iSize, iMenu);    /* menu number */
  59.  
  60.   pArg = args[3];
  61.   pArg += 2;
  62.   iSize = iHelp < 10 ? 1 : 2;
  63.   sprintf(pArg,"%*d", iSize, iHelp);    /* jump to a topic? */
  64.  
  65.   pArg = args[4];
  66.   pArg += 2;
  67.   sprintf(pArg,"%d", fDispErr);         /* display errors? */
  68.  
  69.   if(fLoc) {
  70.     pArg = args[5];
  71.     pArg += 2;
  72.     sprintf(pArg,"%d", fLoc);           /* menu anchor */
  73.   }
  74.  
  75.   pArg = args[6];
  76.   pArg += 2;
  77.   sprintf(pArg,"%d", fOverLap);         /* overlap windows? */
  78.  
  79.   return(spawnvp(P_WAIT, path, args));
  80.  
  81. }
  82.  
  83.  
  84.  
  85.