首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

c 如何得到打印机的名称

2012-11-09 
c 怎么得到打印机的名称?CPrintDialog dlg(FALSE) CString divic if (dlg.DoModal() IDOK) { divic

c 怎么得到打印机的名称?
CPrintDialog dlg(FALSE); CString divic; if (dlg.DoModal() == IDOK) { divic = dlg.GetDeviceName();//得到打印机的名称 MessageBox(hWnd,"打印","提示",MB_OK); } 
 
这是MFC提供的类方法, C语言有没有可以得到打印机名称的方法!

[解决办法]

C/C++ code
DWORD   dwNeed,i,dwTemp,dwReturn;PRINTER_INFO_2  * m_pPrinterInfo;m_pPrinterInfo = new PRINTER_INFO_2; EnumPrinters( PRINTER_ENUM_LOCAL,NULL,2,(LPBYTE)m_pPrinterInfo,sizeof(PRINTER_INFO_2),&dwNeed,&dwReturn ); delete m_pPrinterInfo; if( ( m_pPrinterInfo = ( PRINTER_INFO_2 * )new BYTE[dwNeed] ) == NULL ){    return FALSE;}EnumPrinters (PRINTER_ENUM_LOCAL,NULL,2,(LPBYTE)m_pPrinterInfo,dwNeed,&dwTemp,&dwReturn);for (i = 0; i < dwReturn; i++ )//Debug输出枚举到的驱动名称{    pPrinterInfo = m_pPrinterInfo + i;    OutputDebugString(pPrinterInfo->pPrinterName);}delete m_pPrinterInfo; 

热点排行