我想打印文件,但不想用windows提供的打印界面,就是想直接访问打印机,把文件打印出来,我用的是VS2010,请问大家,怎么做?
解决方案 »
- windows sdk c/c++编程:客户区怎么输出大量内容
- 请问这样的界面怎么做 VC MFC
- 关于item 提取!高手来啊!
- VC.net技术内幕(第六版)中的第一例子,在VC6.0和VS2003中都无法正确运行,这是为什么呢??
- 我解码得到了RGB32的数据buf,现在我要把它显示出来我怎么做啊,我想用directDraw!
- 中国的程序员只不过是一群偏激的白痴!能耐没有多少,但还总认为世界是由他主宰的!
- CString 中多了一个让CString::Find不能工作的“?”字符(0xB4),如何删除它?
- 为什么我装Visual C++ Assistant后,vc打开以前的程序老是有问题?
- 为了保护您的计算机,windows已经关闭了此程序
- 问题!
- 求深入学习com+高级编程这书的源代码和pdf电子版,谢谢
- 学习、成长中的困惑
http://download.csdn.net/detail/mirage1982/2105735http://www.vckbase.com/index.php/cv/551http://www.vckbase.com/index.php/cv/424
不是看不上,我做了图像处理,要把图像按自己的要求用打印机打印出来,如果调用windows自带的打印界面设置窗口,就没意义了!
HANDLE hPrinter = INVALID_HANDLE_VALUE;
PRINTER_DEFAULTS PD; PD.pDatatype = 0;
PD.DesiredAccess = PRINTER_ALL_ACCESS;
PD.pDevMode = 0; BOOL bRet = OpenPrinter(_T("Printer Name"), &hPrinter, &PD); DOC_INFO_1 DocInfo;
BYTE lpData[10];
DWORD dwCount = 10;
DWORD dwBytesWritten; DocInfo.pDocName = L"Test Job";
DocInfo.pOutputFile = NULL;
DocInfo.pDatatype = L"RAW"; StartDocPrinter(hPrinter, 1, (LPBYTE)&DocInfo);
StartPagePrinter(hPrinter ); //该例子讲lpData下发到打印机,你将此处修改为你要下发的File的数据。例子中下发了10个0a换行符
memset(lpData, 0x0a, 10);
WritePrinter(hPrinter, lpData, dwCount, &dwBytesWritten );
EndPagePrinter(hPrinter );
EndDocPrinter(hPrinter ); ClosePrinter(hPrinter);
hPrinter = INVALID_HANDLE_VALUE; if (pJobInfo)
{
free(pJobInfo);
pJobInfo = NULL;
}
没有打印出来