home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / apmt34.zip / EMULPRNT.CMD < prev    next >
OS/2 REXX Batch file  |  1994-04-07  |  3KB  |  58 lines

  1. /* APMT program sample provided by Jon Hosking (HOSKING@YKTVMV)        */
  2. /*                     modified by Dev Banerjee               )        */
  3. /* Print Screen of VM session, via APMT */
  4. /*-----------------------------------------------------------------------
  5. I run a VM mainframe session from an OS/2 window, connected from home
  6. via PCTERM.  I often want to print the screen of the VM session, but
  7. Shift+PrintScreen doesn't work in OS/2 windows and PrintScreen prints
  8. in graphics mode (slow and unpleasant-looking).  The following procedure
  9. works (I have slightly adapted it from an append in OS2HELP FORUM,
  10. 93/12/03, by Jane Griscti).
  11.  
  12. I can then make a program object from this file and put its icon on the
  13. desktop, giving me a convenient replacement for Shift+PrintScreen.
  14. -----------------------------------------------------------------------*/
  15.  
  16. Call RxFuncAdd 'APMTLoadFuncs','APMTEXT','APMTLoadFuncs'
  17. Call APMTLoadFuncs
  18.  
  19. rc=INIT_SESSION();                      If rc\=0 Then Signal stop
  20. signal on halt name close
  21. rc=SELECT_WINDOW('VM Session');         If rc\=0 Then Signal stop
  22. rc=SYSMENU_SELECT('Copy All');          If rc\=0 Then Signal stop
  23.  
  24. filename = 'emulprnt.jnk'
  25. title    = '*emulprnt.jnk*'
  26.  
  27. /* start EPM only if needed */
  28. rc=SELECT_WINDOW(title);
  29. if rc \= 0 then do;
  30.   rc=START_PROGRAM('EPM.EXE',filename); If rc\=0 Then Signal stop
  31.   rc=SELECT_WINDOW(title,300);          If rc\=0 Then Signal stop
  32.   rc=SYSMENU_SELECT('Minimize');        If rc\=0 Then Signal stop
  33.   end
  34. rc=KEYBOARD('INSERT','SHIFT');          If rc\=0 Then Signal stop
  35. rc=MENU_SELECT('File','Print file...'); If rc\=0 Then Signal stop
  36. rc=SELECT_WINDOW('Print document',50);  If rc\=0 Then Signal stop
  37. rc=RADIOBUTTON_CLICK('Raw Ascii text'); If rc\=0 Then Signal stop
  38. rc=PUSHBUTTON_CLICK('Print');           If rc\=0 Then Signal stop
  39. rc=SELECT_WINDOW(title,50);             If rc\=0 Then Signal stop
  40. /* Instead of ending EPM, just restore file to a blank line */
  41. /* This will eliminate restarting EPM the next time       */
  42. rc = KEYBOARD("HOME","C");              If rc\=0 Then Signal stop
  43. rc = KEYBOARD("l","A");    /* mark top*/If rc\=0 Then Signal stop
  44. rc = KEYBOARD("END","C");               If rc\=0 Then Signal stop
  45. rc = KEYBOARD("l","A");    /* mark bot*/If rc\=0 Then Signal stop
  46. rc = KEYBOARD("d","A");    /* delete  */If rc\=0 Then Signal stop
  47. rc = KEYBOARD("ENTER");    /* add blank*/If rc\=0 Then Signal stop
  48. close:
  49. rc=END_SESSION()
  50. Exit 0
  51.  
  52. stop:
  53. code=Strip(rc)
  54. Parse Value Sourceline(sigl) With 'rc=' function ';'
  55. Say 'Return code' code 'from' function 'in line number' sigl
  56. rc=END_SESSION()
  57. exit code
  58.