⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6-2.htm

📁 计算机操作系统 西安电子科技大学出版社 操作系统实验
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>LPBYTE pPrinterEnum,<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>DWORD cbBuf,<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>LPDWORD pcbNeeded,<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>LPDWORD pcReturned,<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>) ;<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>函数各参数按顺序描述如下:</span></span></p>

<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
 style='margin-left:32.4pt;border-collapse:collapse;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
 <tr style='mso-yfti-irow:0'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>Flags<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>表明所需打印机类型的标志</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
 <tr style='mso-yfti-irow:1'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>Name<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>打印机对象的名称</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
 <tr style='mso-yfti-irow:2'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>Level<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>打印机信息结构的类型</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
 <tr style='mso-yfti-irow:3'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>pPrintereEum<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>指向打印机信息结构的指针</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
 <tr style='mso-yfti-irow:4'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>cbBuf<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>打印机信息数组的大小</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
 <tr style='mso-yfti-irow:5'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>pcbNeeded<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>指向保存复制到打印机信息数组中的字节数变量的指针</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
 <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
  <td width=117 valign=top style='width:87.8pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
  style='mso-bidi-font-size:10.5pt'>pcReturned<o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
  <td width=358 valign=top style='width:268.5pt;padding:0cm 5.4pt 0cm 5.4pt'>
  <p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
  style='mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
  mso-hansi-font-family:"Times New Roman"'>指向保存复制到数组中的打印机信息结构的变量的指针</span></span><span
  style='mso-bookmark:_Toc16587483'><span lang=EN-US style='mso-bidi-font-size:
  10.5pt'><o:p></o:p></span></span></p>
  </td>
  <span style='mso-bookmark:_Toc16587483'></span>
 </tr>
</table>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>其中某些参数根据打印机的不同描述而具有许多不同的值。但是,大部分情况下,关心的只是获得缺省的打印机。为了对应用程序进行编程,以便要求</span><span
lang=EN-US>Windows</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>提供缺省的打印机,可使用如下代码:</span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PRINTER_INFO_5
printerInfo5[3] ;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>DWORD needed,
returned;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>EnumPrinters(PRINTER_ENUM_DEFAULT, NULL, 5, (LPBYTE) printerInfo5,<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp; </span>sizeof(printerInfo5) ,
&amp;needed, &amp;returned) ;<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>如果上述代码段执行成功,那么在第一个打印机信息结构的</span><span lang=EN-US>pPrinteName</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>成员中就有了缺省打印机的名称。可以按以下方式来访问该成员:</span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>printerInfo5[0].pPrinterName<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>为了给打印机创建</span><span lang=EN-US>DC</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,需要准确地知道打印机名称。为了获得该</span><span
lang=EN-US>DC</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>,可调用</span><span lang=EN-US>CreateDC() </span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:</span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HDC printDC;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>printDC =
CreateDC(NULL, printerInfo5[0].pPrinterName, NULL, NULL) ;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>这里,把打印机的系统名称作为第二个参数,其余参数都应该为</span><span lang=EN-US>NULL</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>。</span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>一旦有了用户打印机的</span><span lang=EN-US>DC</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,就可以开始打印文档。首先,调用</span><span
lang=EN-US>Windows API</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>函数</span><span lang=EN-US>StartDoc() </span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,开始把文档发送到系统的后台打印程序中。函数调用成功则返回打印机任务的标识符;否则返回小于或等于零的值。</span></span></p>

<p class=MsoNormal style='text-indent:21.0pt'><span style='mso-bookmark:_Toc16587483'><span
lang=EN-US>StartDoc() </span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>的一个参数是指向</span><span lang=EN-US>DOCINFO</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>结构的指针。必须初始化此结构的成员才能调用</span><span
lang=EN-US>StartDoc() </span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>。在大多数情况下,只需将此结构的大小放在</span><span lang=EN-US>cbSize</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>成员中,把指向文档名称的指针放在</span><span
lang=EN-US>lpszDocName</span></span><span style='mso-bookmark:_Toc16587483'><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>成员中,其余成员可以是</span><span lang=EN-US>NULL</span></span><span
style='mso-bookmark:_Toc16587483'><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>或零。整个过程类似于如下形式:</span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>char docName[] =
“RectangleDoc” ;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>DOCINFO docInfo;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>docInfo.cbSize =
sizeof(docInfo) ;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>docInfo.lpszDocName = docName;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='mso-bookmark:_Toc16587483'><span lang=EN-US
style='font-size:9.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>docInfo.lpszOutput = NULL;<o:p></o:p></span></span></p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -