°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÆäÖÐÇ°Èý¸ö²ÎÊý·Ö±ðÊÇÓë´òÓ¡»úÓйصÄÐÅÏ¢×Ö·û´®£¬¿ÉÒÔ´ÓWIN¡£INI¡¡¡¡µÄ¡¾windows¡¡¡¿section¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖлñµÃ£¬¸÷ÒÔ¶ººÅ·Ö¸ô£¬ÀýÈ磺¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡device=HP¡¡LaserJet¡¡4P/4MP£»HPPCL5E£»LPT1£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ú±íÈýÏîÒâÒ壺¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print¡¡Driver¡¡=¡¡HP¡¡LaserJet¡¡4P/4MP¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print¡¡Type¡¡=¡¡HPPCL5E¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print¡¡Port¡¡=¡¡LPT1£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SDK¡¡³ÌÐòÖжÔÓÚ´òÓ¡ËùÐè×öµÄŬÁ¦£¬×îµÍÏ޶ȵ½´ËΪֹ¡£ÏÔÈ»£¬À§ÄѶȲ¢²»¸ß£¬µ«ÊÇÆä¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖÐÉÐδ²ÎÔÓ¶Ô´òÓ¡»úµÄ¿ØÖÆ£¬¶øÄÇÊDZȽÏÂé·³µÄʶù¡£»»¾ä»°ËµÎÒÃÇ»¹µÃ¿¼ÂÇ¡¸·ÖÒ³¡¹¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄÎÊÌâ¡£ÒÔÎÄ×ÖΪÀý£¬ÎÒÃDZØÐëÈ¡µÃÒ»Ò³£¨Ò»ÕÅÖ½£©µÄ´óС£¬ÒÔ¼°×ÖÐεĸ߶ȣ¬´Ó¶ø¼Æ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ëã¿Û³ýÁô°×²¿·ÝÖ®ºó£¬Ò»Ò³¿ÉÈÝÄɼ¸ÐУº¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡TEXTMETRIC¡¡TextMetric£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡LineSpace£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡nPageSize£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡LinesPerPage£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GetTextMetrics£¨hPr£»¡¡&TextMetric£©£»¡¡¡¡//È¡µÃ×ÖÐÎÊý¾Ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LineSpace¡¡=¡¡TextMetric¡£tmHeight¡¡£«¡¡TextMetric¡£tmExternalLeading£»¡¡//¡¡¼ÆËã×ָߡ¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nPageSize¡¡=¡¡GetDeviceCaps£¨hPr£»¡¡VERTRES£©£»¡¡¡¡//¡¡È¡µÃÖ½ÕÅ´óС¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LinesPerPage¡¡=¡¡nPageSize¡¡/¡¡LineSpace¡¡1£»¡¡//¡¡Ò»Ò³ÈÝÄɶàÉÙÐС¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È»ºóÔÙÒÔÑ»·½«Ã¿Ò»ÐÐÎÄ×ÖËÍÍù´òÓ¡»ú£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Escape¡¡£¨hPr£»¡¡STARTDOC£»¡¡4£»¡¡¡¨PrntFile¡¡text¡¨£»¡¡£¨LPSTR£©¡¡NULL£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CurrentLine¡¡=¡¡1£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for¡¡£¨¡£¡£¡££©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡//¡¡È¡µÃÒ»ÐÐÎÄ×Ö£¬·ÅÔÚchar¡¡pLine£§128£§¡¡ÖУ¬³¤¶ÈΪLineLength¡£¡¡
664¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡727¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡12¡¡Õ¡¡¡¡¡¡¡¡ÁÐÓ¡ÅcîAÓ£§¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡TextOut¡¡£¨hPr£»¡¡0£»¡¡CurrentLine*LineSpace£»¡¡£¨LPSTR£©pLine£»¡¡LineLength£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨£«£«CurrentLine¡¡¡·¡¡LinesPerPage¡¡£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CurrentLine¡¡=¡¡1£»¡¡¡¡¡¡//ÖØÉèÐкš¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IOStatus¡¡=¡¡Escape¡¡£¨hPr£»¡¡NEWFRAME£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡¡¡//»»Ò³¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨IOStatus¡¡¡¶¡¡0¡¡£ü£ü¡¡bAbort£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡if¡¡£¨IOStatus¡¡¡·=¡¡0¡¡&&¡¡£¡bAbort£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Escape¡¡£¨hPr£»¡¡NEWFRAME£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Escape¡¡£¨hPr£»¡¡ENDDOC£»¡¡0£»¡¡0L£»¡¡0L£©£»¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡ÆäÖеÄEscape¡¡ÓÃÀ´´«ËÍÃüÁî¸ø´òÓ¡»ú£¨´òÓ¡»úÃüÁîÒ»°ã³ÆΪescape¡¡code¡¡£©£¬ËüÊÇÒ»¸ö¡¡
¡¡¡¡¡¡¡¡Windows¡¡API¡¡¡¡º¯Êý¡£¡¡
¡¡¡¡¡¡¡¡´òÓ¡¹ý³ÌÖÐÎÒÃÇ»¹Ó¦¸ÃÌṩһ¸öÖжϻúÖƸøʹÓÃÕß¡£Modeless¡¡¶Ô»°¿ò¿ÉÒÔÍê³É´Ëһʹ¡¡
¡¡¡¡¡¡¡¡Ãü£¬ÎÒÃÇ¿ÉÒÔÈÃËü³öÏÖÔÚ´òÓ¡¹ý³ÌÖ®ÖС£Õâ¸ö¶Ô»°¿òÓ¦¸ÃÔÚ´òÓ¡³ÌÐò¿ªÊ¼Ö®Ç°ÏÈ×öÆðÀ´£¬¡¡
¡¡¡¡¡¡¡¡ÍâÐÎÀàËÆͼ12¡1d£º¡¡
¡¡¡¡¡¡¡¡HWND¡¡hPrintingDlgWnd£»¡¡¡¡//¡¡Õâ¾ÍÊÇ¡¾Printing¡¿¶Ô»°¿ò¡¡
¡¡¡¡¡¡¡¡FARPROC¡¡lpPrintingDlg£»¡¡//¡¡¡¾Printing¡¿¶Ô»°¿òµÄ´°¿Úº¯Êý¡¡
¡¡¡¡¡¡¡¡lpPrintingDlg¡¡=¡¡¡¡MakeProcInstance£¨PrintingDlg£»¡¡hInst£©£»¡¡
¡¡¡¡¡¡¡¡hPrintingDlgWnd¡¡=¡¡CreateDialog¡¡£¨hInst£»¡¡¡¨PrintingDlg¡¨£»¡¡hWnd£»¡¡lpPrintingDlg£©£»¡¡
¡¡¡¡¡¡¡¡ShowWindow¡¡£¨hPrintingDlgWnd£»¡¡SW_NORMAL£©£»¡¡
¡¡¡¡¡¡¡¡¸ºÔð´ËÒ»ÖжϻúÖƵĶԻ°¿òº¯ÊýºÜ¼òµ¥£¬Ö»¼ì²é¡¾OK¡¡¡¿Å¥ÓÐûÓб»°´Ï£¬²¢¾ÝÒԸı䡡
¡¡¡¡¡¡¡¡bAbort¡¡¡¡µÄÖµ£º¡¡
¡¡¡¡¡¡¡¡int¡¡FAR¡¡PASCAL¡¡PrintingDlg¡¡£¨HWND¡¡hDlg£»¡¡unsigned¡¡msg£»¡¡WORD¡¡wParam£»¡¡LONG¡¡lParam£©¡¡
¡¡¡¡¡¡¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡switch£¨msg£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡WM_MAND£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨bAbort¡¡=¡¡TRUE£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡case¡¡WM_INITDIALOG£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SetFocus£¨GetDlgItem£¨hDlg£»¡¡IDCANCEL£©£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SetDlgItemText£¨hDlg£»¡¡IDC_FILENAME£»¡¡FileName£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨TRUE£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨FALSE£©£»¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡665¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡728¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡¡¡¡¡ÉîÈë¡¡¡¡MFC¡¡¡¡³ÌʽÔOÓ‹¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ÓÓ¦ÓóÌÐòµÄÑÛ¹âÀ´¿´£¬ÕâÑù¾Í²î²»¶àÁË¡£È»¶ø×ÊÁÏÕæÕýË͵½´òÓ¡»úÉÏ£¬»¹ÓÐÒ»´ó¶ÎÇú¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÕÛ¹ý³Ì¡£Ã¿Ò»¸öËÍÍù´òÓ¡»úDC¡¡¡¡µÄ»æͼ¶¯×÷£¬Æäʵ¶¼Ö»±»¼Ç¼Ϊmetafile¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨×¢£©´¢´æÔÚ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄãµÄTEMP¡¡¡¡Ä¿Â¼ÖС£µ±Äãµ÷ÓÃEscape£¨hPr¡¡£»¡¡NEWFRAME£»¡¡¡£¡£¡££©£¬´òÓ¡»úÇý¶¯³ÌÐò£¨¡£DRV£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»á°ÑÕâЩmetafile¡¡×ª»»Îª´òÓ¡»úÓïÑÔ£¨control¡¡sequence¡¡»òPostscript¡¡£©£¬È»ºó֪ͨGDI¡¡Ä£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×飬ÓÉGDI¡¡°ÑËü´¢´æΪ~SPL¡¡Îļþ£¬Ò²·ÅÔÚTEMP¡¡¡¡Ä¿Â¼ÖУ¬²¢É¾³ý¶ÔÓ¦Ö®metafile¡¡¡£Ö®¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºó£¬GDI¡¡Ä£¿éÔÙËͳöÏûÏ¢¸ø´òÓ¡¹ÜÀíÆ÷Print¡¡Manager¡¡£¬ÓɺóÕßµ÷ÓÃOpenm¡¢¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Writem¡¡µÈµÍ½×ͨѶº¯Êý£¨Ò²¶¼ÊÇWindows¡¡API¡¡¡¡º¯Êý£©£¬°Ñ´òÓ¡»úÃüÁî´«¸ø´òÓ¡»ú¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õû¸öÁ÷³ÌÇë²Î¿¼Í¼12¡3¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢£ºmetafile¡¡Ò²ÊÇÒ»ÖÖͼÐμǼ¹æ¸ñ£¬µ«Ëü¼Ç¼µÄÊÇ»æͼ¶¯×÷£¬²»Ïñbitmap¡¡¼Ç¼µÄÊÇÕæ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÕýµÄͼÐÎ×ÊÁÏ¡£ËùÒÔ²¥·Åmetafile¡¡¡¡±È²¥·Åbitmap¡¡Âý£¬ÒòΪ¶àÁËÒ»²ã»æͼº¯Êý½â¶Á¶¯×÷£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ«ËüµÄ´óС±Èbitmap¡¡Ð¡ºÜ¶à¡£ÓÃÔÚÓÐÐí¶àËÄÐΡ¢Ô²ÐΡ¢¹¤³Ì¼¸ºÎͼÐÎÉÏ×îΪ·½±ã¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õâ¸öÇúÕÛ¹ý³ÌÖ®ÖоͲúÉúÁËÒ»¸öÎÊÌâ¡£~SPL¡¡ÕâÖÖÎļþºÜ´ó£¬Èç¹ûÄãµÄTEMP¡¡¡¡Ä¿Â¼¿Õ¼ä¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²»¹»³äÔ££¬Ôõô°ì£¿Èç¹ûPrinter¡¡Manager¡¡°Ñ»ý´æµÄ~SPL¡¡¡¡ÄÚÈÝÏû»¯µôºóÄܹ»¿Õ³ö×ã¹»´Å¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µú¿Õ¼äµÄ»°£¬ÄÇôGDI¡¡Ä£¿é¾Í¿ÉÒÔÏÂÃüÁËÍÏûÏ¢£©¸øPrinter¡¡Manager¡¡£¬ÏÈ°Ñ»ý´æµÄ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡~SPL¡¡µµ´¦Àíµô¡£ÎÊÌâÊÇ£¬ÔÚWindows¡¡3¡£x¡¡Ö®ÖУ¬ÎÒÃǵijÌÐò´Ë¿ÌÕýæ×Å×ö»æͼ¶¯×÷£¬¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GDI¡¡Ã»Óлú»áËÍÏûÏ¢¸øPrinter¡¡Manager¡¡¡¡£¨ÒòΪWindows¡¡3¡£x¡¡ÊǸö·ÇÇ¿ÖÆÐÔ¶àÈÎÎñϵͳ£©¡¡¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½â¾ö·½·¨ÊÇÄãÏÈ×¼±¸Ò»¸öcallback¡¡º¯Êý£¬Ãû³ÆËæÄãÈ¡£¬Í¨³£ÃûΪAbortProc¡¡£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FARPROC¡¡lpAbortProc£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpAbortProc¡¡=¡¡MakeProcInstance£¨AbortProc£»¡¡hInst£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Escape£¨hPr£»¡¡SETABORTPROC£»¡¡NULL£»¡¡£¨LPSTR£©£¨long£©lpAbortProc£»¡¡£¨LPSTR£©NULL£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GDI¡¡Ä£¿éÔÚÖ´ÐÐEscape£¨hPr¡¡£»¡¡NEWFRAME¡£¡£¡££©¡¡µÄ¹ý³ÌÖлá³ÖÐøµ÷ÓÃÕâ¸öcallback¡¡º¯Êý£¬Ïë¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡°ì·¨ÈÃÄãµÄ³ÌÐòÊͷųö¿ØÖÆȨ£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡FAR¡¡PASCAL¡¡AbortProc£¨hDC¡¡hPr£»¡¡int¡¡Code£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MSG¡¡msg£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while¡¡£¨£¡bAbort¡¡&&¡¡PeekMessage£¨&msg£»¡¡NULL£»¡¡NULL£»¡¡NULL£»¡¡TRUE£©£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨£¡IsDialogMessage£¨hAbortDlgWnd£»¡¡&msg£©£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡TranslateMessage£¨&msg£©£»¡¡
666¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡729¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡12¡¡Õ¡¡¡¡¡¡¡¡ÁÐÓ¡ÅcîAÓ£§¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DispatchMessage£¨&msg£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return¡¡£¨£¡bAbort£©£»¡¡
¡¡¡¡¡¡¡¡£ý¡¡
Äã¿ÉÒÔ´ÓVC£«£«¡¡4¡£0¡¡Ëù¸½µÄÕâ¸ö·¶Àý³ÌÐò»ñµÃÓйشòÓ¡µÄ¼«¼ÑʵÀý£º¡¡
¡¡¡¡¡¡¡¡MSDEVSAMPLESSDKWIN32PRINTER¡¡
Ò²¿ÉÒÔÔÚCharles¡¡Petzold¡¡Ëù×ŵÄProgramming¡¡Windows¡¡3¡£1¡¡µÚ15¡¡Õ£¬»òÊÇÆäа桡
Programming¡¡Windows¡¡95¡¡µÚ15¡¡Õ£¬»ñµÃ¸üÉîÈëµÄ×ÊÁÏ¡£¡¡
¡¡Windows¡¡³ÌÐò¡¡
¡¡È¡µÃ´òÓ¡»úDC¡¡¡¡¡¡¡¡¡¡¡¡£¨hPr£©¡¡£¬ÓÚÊǼÓÔØ´òÓ¡»úÇý¶¯³ÌÐò£¨DRV£©¡¡
¡¡Escape£¨hPr£»¡¡STARTDOC¡£¡£¡££©¡¡£¬ÓÚÊÇDRV¡¡³õʼ»¯²¢¼ÓÔØPrint¡¡Manager¡¡
¸÷ʽ¸÷ÑùµÄGDI¡¡»æͼº¯Êý£¨´¢´æΪmetafile¡¡£¬~MF¡¡µµ£©¡¡
Escape£¨hPr£»¡¡NEWFRAME¡£¡£¡££©¡¡
DRV¡¡½â¶Ámetafile¡¡£¬×ª»»Îªcontrol¡¡sequences¡¡»òPostscript¡¡£¬´«¸øGDI¡¡¡£¡¡
¡¡GDI¡¡°ÑDRV¡¡¡¡µÄÊä³ö´¢´æÔÚ~SPL¡¡ÔÝ´æÅÌÖУ¬²¢É¾³ý~MF¡¡µµ¡£¡¡
¡¡GDI¡¡ËÍÏûÏ¢¸øPrinter¡¡Manager¡¡£¬ÒªÇó´òÓ¡»úÊä³ö¡£Ó¦ÓóÌÐò¼ÌÐø½øÐÐ×Ô¼ºµÄ¶¯×÷¡¡
¡¡Printer¡¡Manager¡¡¶Á~SPL¡¡µµ£¬ÀûÓÃOpenm¡¢Writem¡¡µÈAPI¡¡¡¡º¯Êý°Ñ×ÊÁÏ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©¡¡¡¡
¡¡¡¡£¨´òÓ¡»úÃüÁîÂëËÍÍù´òÓ¡»ú£¬Íê±Ïºóɾ³ý~SPL¡¡µµ¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼12¡3¡¡Windows¡¡³ÌÐòµÄ´òÓ¡»úÊä³ö¶¯×÷Ïê½â¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡667¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡730¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡¡¡¡¡ÉîÈë¡¡¡¡MFC¡¡¡¡³ÌʽÔOÓ‹¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÒÔϾÍÊÇSDK¡¡³ÌÐòÖÐÓйشòÓ¡³ÌÐòµÄÒ»¸öʵ¼ÊƬ¶Î¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#01¡¡¡¡hSaveCursor¡¡=¡¡SetCursor£¨hHourGlass£©£»¡¡¡¡//¡¡°ÑÊó±ê¹â±êÉèΪɰ©״¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#02¡¡¡¡hPr¡¡=¡¡CreateDC£¨¡¨HP¡¡LaserJet¡¡4P/4MP¡¨£»¡¡¡¨HPPCL5E¡¨£»¡¡¡¨LPT1£º¡¨£»¡¡£¨LPSTR£©¡¡NULL£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#03¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#04¡¡¡¡//¡¡É趨AbortProc¡¡callback¡¡º¯Êý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#05¡¡¡¡lpAbortProc¡¡=¡¡MakeProcInstance£¨AbortProc£»¡¡hInst£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#06¡¡¡¡Escape£¨hPr£»¡¡SETABORTPROC£»¡¡NULL£»¡¡£¨LPSTR£©¡¡£¨long£©¡¡lpAbortProc£»¡¡£¨LPSTR£©¡¡NULL£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#07¡¡¡¡bAbort¡¡=¡¡FALSE£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#08¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#09¡¡¡¡Escape£¨hPr£»¡¡STARTDOC£»¡¡4£»¡¡¡¨PrntFil