工控编程吧

标题: 上位机MFC如何枚举打印机 [打印本页]

作者: qq263946146    时间: 2019-8-3 10:26
标题: 上位机MFC如何枚举打印机

打印机全部的获取可以使用函数EnumPrinters。
具体的调用 方法查看下面按钮代码。

  1. void CDemoDlg::OnTest()
  2. {
  3.         CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);
  4.         pList->DeleteAllItems();
  5.         pList->SetRedraw(FALSE);

  6.         BYTE* pBuffer = NULL;
  7.         DWORD dwSize = 0;
  8.         DWORD dwNum = 0;

  9.         //获得缓冲区大小
  10.         ::EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, pBuffer, dwSize, &dwSize, &dwNum);
  11.         pBuffer = new BYTE[dwSize];

  12.         //枚举打印机
  13.         ::EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, pBuffer, dwSize, &dwSize, &dwNum);
  14.         if (dwNum != 0)
  15.         {
  16.                 //获得打印机信息
  17.                 PRINTER_INFO_5* pPrinterInfo = (PRINTER_INFO_5*)pBuffer;

  18.                 for (DWORD n = 0; n < dwNum; n++)
  19.                 {
  20.                         pList->InsertItem(n, pPrinterInfo[n].pPrinterName);
  21.                         pList->SetItemText(n, 1, pPrinterInfo[n].pPortName);
  22.                 }
  23.         }

  24.         pList->SetRedraw(TRUE);
  25. }
复制代码
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4