Visual C++ 打印编程技术-编程基础-获取打印机
2015-04-03 17:05
483 查看
标准方法是用: EnumPrinters() 函数获取
#define PRINTER_ENUM_DEFAULT 0x00000001 #define PRINTER_ENUM_LOCAL 0x00000002 #define PRINTER_ENUM_CONNECTIONS 0x00000004 #define PRINTER_ENUM_FAVORITE 0x00000004 #define PRINTER_ENUM_NAME 0x00000008 #define PRINTER_ENUM_REMOTE 0x00000010 #define PRINTER_ENUM_SHARED 0x00000020 #define PRINTER_ENUM_NETWORK 0x00000040
BOOL EnumPrinters( _In_ DWORD Flags, // 打印机获取方式,见上表 _In_ LPTSTR Name, _In_ DWORD Level,//PRINTER_INFO_1, PRINTER_INFO_2 , PRINTER_INFO_4, and PRINTER_INFO_5 分别对应1,2,4,5 _Out_ LPBYTE pPrinterEnum,//A pointer to a buffer that receives an array of PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_4, orPRINTER_INFO_5 structures. // Each structure contains data that describes an available print object. _In_ DWORD cbBuf,//The size, in bytes, of the buffer pointed to by pPrinterEnum. _Out_ LPDWORD pcbNeeded, _Out_ LPDWORD pcReturned );
DWORD dwSize,dwPrinters; ::EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,NULL,0,&dwSize,&dwPrinters); BYTE* pBuffer=new BYTE[dwSize]; ::EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,pBuffer,dwSize,&dwSize,&dwPrinters); if(dwPrinters!=0) { PRINTER_INFO_5* pPrnInfo=(PRINTER_INFO_5*)pBuffer; for(UINT i=0;i<dwPrinters;i++) { m_listbox.AddString(pPrnInfo->pPrinterName); //m_listbox : Listbox控件变量 pPrnInfo++; } } delete[] pBuffer;
相关文章推荐
- Visual C++ 打印编程技术-打印基础知识
- Visual C++ 打印编程技术-编程基础-映射模式
- Visual C++ 打印编程技术-编程基础
- 打印技术之获取及设置系统默认打印机
- Visual C++ 打印编程技术-内存设备环境
- VC打印机编程之两篇有用的文章获取打印机与打印作业的状态和设置打印机模式并预览打印
- 【打印技术01】获取及设置系统默认打印机
- 【VC++技术杂谈002】打印技术之获取及设置系统默认打印机
- 获取打印机设备上下文进行打印操作
- 1.2--打印机编程基础(未完)
- Java学习笔记之网络编程基础-通过URLConnection获取HTML页面
- Visual C++动态链接库编程之基础概念(转)
- JAVA专题技术综述之线程篇-Java基础-Java-编程开发
- 获取当前打印机的名称、驱动程序、打印端口信息
- HOOK技术在VC编程中的应用基础(转)
- Java学习笔记之网络编程基础-获取本机名称
- 十年之后 Java技术的新方向-Java基础-Java-编程开发
- WEB开发技术比较报告-Java基础-Java-编程开发
- ------------------SQL基础和T-SQL技术编程----------------------
- AJAX技术之如何处理书签和翻页按扭-Java基础-Java-编程开发