社区
VC.NET
帖子详情
MFC中如何获得默认打印机名称
cumtxxl
2007-07-13 04:19:04
只需要获得默认的打印机名称,而不需要弹出打印对话框
...全文
780
4
打赏
收藏
MFC中如何获得默认打印机名称
只需要获得默认的打印机名称,而不需要弹出打印对话框
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cumtxxl
2007-07-13
打赏
举报
回复
自己解决了
PRINTDLG printDlg;
CWinApp::GetPrinterDeviceDefaults(&printDlg);
CWinApp::SelectPrinter(printDlg.hDevNames,printDlg.hDevMode);
CWinApp::CreatePrinterDC(g_dcPrinterDC);
cumtxxl
2007-07-13
打赏
举报
回复
只需要获得默认的打印机名称(MFC中),谢谢
yasmong
2007-07-13
打赏
举报
回复
下面这段代码能列出当前的系统上的打印机
#include <winspool.h>
DWORD dwSize,dwPrinters;
::EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,NULL,0,&dwSize,&dwPrinters);
BYTE *pBuffer=new BYTE[dwSize];
::EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,NULL,pBuffer,&dwSize,&dwPrinters);
if(dwPrinters!=0)
{
PRINTER_INFO_5 *pPrnInfo=(PRINTER_INFO_5 *)pBuffer;
for(int i=0;i<dwPrinters,i++)
{
cout<<pPrnInfo->pPrinterName<<endl;
pPrnInfo++;//指针后移
}
}
delete []pBuffer;
真相重于对错
2007-07-13
打赏
举报
回复
声明
[DllImport( "winspool.drv" )]
public static extern int GetDefaultPrinter( System.IntPtr ptr , ref int size );
调用
int size = 0;
int n = GetDefaultPrinter( IntPtr.Zero , ref size );
System.IntPtr ptr = Marshal.AllocHGlobal( size );
n= GetDefaultPrinter( ptr , ref size );
String strprint = Marshal.PtrToStringAnsi( ptr , size );
我是从以前贴子复制的
这是c#的,mfc 直接调用api会更简单,
如何以编程方式打印到在
MFC
中
的非
默认
打印机
本文介绍在
MFC
应用程序
中
如何以编程方式设置和使用非
默认
打印机
,包括使用GetPrinter()函数获取
打印机
信息,创建DEVMODE和DEVNAMES结构,以及设置应用程序的
默认
打印机
。
MFC
:获取所有
打印机
的
名称
(
打印机
模块-1)
在
MFC
应用程序里,需列出本地系统安装的
打印机
,检测是否存在“Microsoft Print to PDF”或“Microsoft XPS Document Writer”虚拟
打印机
。若有则选其一作为操作对象,没有则提示用户安装。
直接使用
默认
设置进行打印:(2)使用
MFC
编程实现打印
中
文字符串
本文介绍了一个
MFC
程序示例,该程序能在不弹出打印对话框的情况下直接使用
默认
打印机
打印包含
中
文的字符串。文章提供了完整的源代码,并详细解释了关键步骤。
MFC
:获取所有
打印机
的
名称
(
打印机
模块-2)
该博客围绕
MFC
展开,主要讲述遍历当前用户的虚拟
打印机
,将其
默认
纸张设置为A4并设为纵向。实现原理是从注册表读取已配置
打印机
,遍历每台
打印机
,输出纸张大小,尝试设置A4纵向并输出设置结果。
VC.NET
7,539
社区成员
27,670
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章