KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q59380: How to Do a Print Screen within a Program

Article: Q59380
Product(s): See article
Version(s): 5.10
Operating System(s): MS-DOS
Keyword(s): ENDUSER | | mspl13_c
Last Modified: 7-MAR-1990

The code below demonstrates how to do a print screen from within a
program under MS-DOS. This is done by executing INT 5 within a
program.

The interrupt service directs all its output to the default printer.
The print-screen service prints text or graphics. In graphics mode,
GRAPHICS.COM must be loaded before invoking the print-screen service.

INT 5 does not return any values but the status code is available at
memory location 0050:0000. The values are as follows:

   00   no error occurred
   01   indicates that a print-screen operation is in progress
   FF   the previous print screen was not successful.

Code Example
------------

  #include <stdio.h>
  #include <dos.h>

  void main (void)
  {
     int  *result;
     struct REGS inregs, outregs;

  /* inregs and outregs are never used but necessary
     for the int86 function.
  */

     puts("This is a test of prtscr() function.");
     int86(0x5, &inregs, &outregs);

     *result = (int *) 0x00500000;
     switch( *result )
     {
        case 0:
          puts("No error occurred.");
          break;
        case 1;
          puts("Print Screen in progress....");
          break;
        case 0xFF;
          puts("ERROR occurred during print screen");
          break;
     }
  }

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.