home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / os2 / cenv2_19.arj / DOMENU.CMD < prev    next >
OS/2 REXX Batch file  |  1994-03-08  |  2KB  |  58 lines

  1. EXTPROC CEnvi
  2. /**************************************************************************
  3.  *** DoMenu.cmd - Quick interface to pass menu commands directly.       ***
  4.  *** ver.1        This posts menu command directly to any frame window. ***
  5.  **************************************************************************/
  6.  
  7. #include <MenuCtrl.lib>
  8. #include <WinTools.lib>
  9.  
  10. main(argc,argv)
  11. {
  12.    if ( (2 != argc && 3 != argc)  ||  !strcmp(argv[1],"/?")  ||  !strcmpi(argv[1],"help") )
  13.       Instructions();
  14.  
  15.    if ( 2 == argc ) {
  16.       hwnd = GetActiveWindow();
  17.       MenuString = argv[1];
  18.    } else {
  19.       if ( !(hwnd = GetWindowHandle(WindowTitle = argv[1])) ) {
  20.          printf("\aCould not find window \"%s\"\n",WindowTitle);
  21.          exit(EXIT_FAILURE);
  22.       }
  23.       MenuString = argv[2];
  24.    }
  25.    // try regular menu first, then system menu, then anything else
  26.    if ( !MenuCommand(hwnd,FID_MENU,MenuString,True)
  27.      && !MenuCommand(hwnd,FID_SYSMENU,MenuString,True)
  28.      && !MenuCommand(hwnd,0,MenuString,True) ) {
  29.       printf("\aSelection \"%s\" not found in any menu.\n",MenuString);
  30.       exit(EXIT_FAILURE);
  31.    }
  32.    return EXIT_SUCCESS;
  33. }
  34.  
  35.  
  36. Instructions()
  37. {
  38.    printf("\a\n")
  39.    printf("DoMenu - Post menu selection to a PM window\n")
  40.    printf("\n")
  41.    printf("SYNTAX: DoMenu <WinTitle> MenuString\n")
  42.    printf("\n")
  43.    printf("Where: WinTitle - Name of a window; if this parameter not supplied then\n")
  44.    printf("                  use currently active window\n")
  45.    printf("       MenuString - Ascii text of menu string to select from any menu.\n")
  46.    printf("                    Will select first match for length of MenuString,\n")
  47.    printf("                    case-insensitive\n")
  48.    printf("\n");
  49.    printf("Example: If the calculator is running, this would set font to 18 x 10\n")
  50.    printf("            DoMenu Calculator \"18 x 10\"\n")
  51.    printf("\n")
  52.    printf("Example: If an \"OS/2 Window\" session is active, to choose \"Copy All\"\n")
  53.    printf("            DoMenu \"Copy All\"\n")
  54.    printf("\n")
  55.    exit(EXIT_FAILURE);
  56. }
  57.  
  58.