void CHelperDlg::OnBnClickedBtnMaintain()
{CListCtrl *m_ListPrinter=(CListCtrl *)GetDlgItem(IDC_LIST_PRINTER);//int count=m_ListPrinter->GetItemCount();  //列表中的个数//m_ListPrinter->InsertItem(count,str1);    //插入 ,在第n个位置插入DWORD Flags = PRINTER_ENUM_FAVORITE | PRINTER_ENUM_LOCAL;DWORD cbBuf; DWORD pcReturned ;CString str;DWORD Level = 2; TCHAR Name[500]={0} ; ::EnumPrinters(Flags,Name, Level, NULL, 0, &cbBuf, //需要多少内存 &pcReturned) ; const LPPRINTER_INFO_2 pPrinterEnum = (LPPRINTER_INFO_2)LocalAlloc(LPTR, cbBuf + 4) ; if (!pPrinterEnum) { str.Format(L"error is %d",GetLastError());MessageBox(str,0,0);} if (!EnumPrinters( Flags, Name,Level, (LPBYTE)pPrinterEnum, cbBuf, &cbBuf, &pcReturned)) { str.Format(L"error is %d",::GetLastError());MessageBox(str,0,0);return ;} CString temp;temp.Format(_T("有几个数组元素%d"),pcReturned);printf("\nprinter count:%d",pcReturned);//AfxMessageBox(temp);CListBox *printer_list;printer_list=(CListBox*)GetDlgItem(IDC_LISTBOX_PRINTER);//CListBox printer_list = GetDlgItem(IDC_LISTBOX_PRINTER);printer_list->ResetContent();m_ListPrinter->DeleteAllItems();   //清空所有表项for(unsigned int i=0;i<pcReturned;i++){//fill with printerm_ListPrinter->InsertItem(i,NULL);       //插入一行LPPRINTER_INFO_2 pInfo=&pPrinterEnum[i];m_ListPrinter->SetItemText(i,0,pInfo->pPrinterName);/*m_ListPrinter->SetItemText(i,1,pInfo->pServerName);m_ListPrinter->SetItemText(i,2,pInfo->pDriverName);m_ListPrinter->SetItemText(i,3,pInfo->pPrintProcessor);*///add to listboxprinter_list->AddString(pInfo->pPrinterName);}printer_list->SelectString(0,L"100");LocalFree(pPrinterEnum);
}

略傻,一开始抄了个用Controllist的,

mfc: 获取打印机列表相关推荐

  1. Lodop在页面获取打印机列表 选择打印机预览

    利用GET_PRINTER_COUNT,获取打印机个数,然后用GET_PRINTER_NAME(intPrinterIndex);循环获取打印机名称,添加到list列表里,可以让用户在页面就选择打印机 ...

  2. win32 打印机任务管理的 node 模块 (3)详解Win32 Spooler API 获取打印机列表及状态

    上篇讲了如何写一个 node addon,这篇开始讲述如何调用 Win32 Spooler API 实现打印的完整功能.项目的代码在 https://gitee.com/csling/win32-pr ...

  3. Java获取打印机列表

    获取当前打印机 // 获取打印机public static List<String> findPrints() {List<String> list = new ArrayLi ...

  4. qt获取系统打印机列表

    实现效果: 实现步骤: 在windows下使用qt获取系统的打印机列表名,方法如下: pro文件,或者对应的模块pri文件中,添加printsupport模块支持. QT += printsuppor ...

  5. 获取局域网打印机列表

    /// <summary>         /// 获取局域网打印机列表         /// </summary>         /// <param name=& ...

  6. 打印机无法从服务器获取信息,win10系统安装打印机提示无法从Windows Update获取设备列表怎么办...

    最近有win10系统用户到本站咨询这样一个情况,就是要安装打印机的时候,突然提示无法从Windows Update获取设备列表怎,遇到这样的问题该怎么办呢,本文就给大家讲解一下win10系统安装打印机 ...

  7. c 语言获取系统时间并打印机,C# 获取打印机当前状态的方法

    C# 获取打印机当前状态的方法 要获得打印机的状态,应该定义一个联合. 复制代码 代码如下: enum PrinterStatus { 其他状态= 1, 未知, 空闲, 正在打印, 预热, 停止打印, ...

  8. 【.Net码农】c#打印机设置,取得打印机列表及相应打印机的所有纸张格式

    http://www.it610.com/article/1490591.htm c#打印机设置,取得打印机列表及相应打印机的所有纸张格式 using System; using System.Col ...

  9. .Net中获取打印机的相关信息

    新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. PrinterCommunicate用于连接打印机 ...

最新文章

  1. Redis requires a monkey patched socket library to work with gevent
  2. Android Studio 权威教程
  3. 把执行结果转成json对象报错_JSONObject获取值后为一个对象,将对象转为JSONObject时报错...
  4. 利用PHP执行SQL文件,将SQL文件导入到数据库
  5. 【报名开启】阿里云线下Workshop让你玩转ECS 快速搭建云上博客
  6. 怎么让电脑屏幕一直亮着_电视机指示灯亮不开机怎么办 电视机故障及维修介绍【详解】...
  7. 使用Spring Security 5进行密码编码器迁移
  8. jsp中获取list长度
  9. MyBatis 【中文编码问题】
  10. “37岁,985毕业,年薪50万,被裁掉只用了10分钟”
  11. html怎么用excel打开乱码,excel打开是乱码,详细教您excel打开是乱码怎么解决
  12. 报表工具如何实现多次导入Excel
  13. 数据库开发常见面试题
  14. QPainter文档
  15. 在nameSilo购买域名
  16. Git 命令行其实真的很好用
  17. 论神奇宝贝小智精灵联盟名次的类指数型变化
  18. C++使用CFile类文件读写
  19. matlab小球水平抛出,如何用Matlab制作小球自由落体运动的动画
  20. java-十六进制转八进制

热门文章

  1. [实战Java高并发程序设计:读后感:参考文献]第一章
  2. 51Nod-1106质数检测
  3. 【Web系列二十】Django+Celery+Asgiref+Channels+协程锁实现Websocket异步并发
  4. echart 没有数据的时候,完美展示暂无数据
  5. Prometheus部分监控项
  6. vue 饼图 右侧 lengend 数据 自己渲染
  7. 计算机画图学生作品小学,小学电脑绘画作品的指导
  8. 手机端html跑马灯效果,js实现跑马灯效果 很好用
  9. 亚述尼尼微, 约拿,鲸
  10. iPad香港开售:数百人排队,半小时售罄