关于WinCE打印,终于忍不住要发话了!

tomlance 2010-08-18 11:18:38
WinCE5.0程序,VC++2005 开发环境,小弟只想获取默认的打印机来打印。找了无数篇文章,都是说
::CreateDC(打印机驱动名,NULL,NULL,NULL);之类,但这个打印机驱动名怎么来却没有描述。大牛们你的这一点点省略给菜鸟造成无限的烦恼啊!

也有找到PRINTDLG pd;AfxGetApp()->GetPrinterDeviceDefaults(&pd);可是因为GetPrinterDeviceDefaults为无法解析的外部符号而编译不通过,也搜索了无数次就是不知道依赖那个lib文件。

折磨小菜太甚了。。。。

哪个牛人帮忙解决一下这个难言之隐,顺便教我设置横向打印, 100分奉上
...全文
980 30 打赏 收藏 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangliny 2011-12-12
  • 打赏
  • 举报
回复
关注中,正需要这个,看来没有正解,等待啊。。。
puyoupuyou90 2010-08-26
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 aaa_tnt 的回复:]
引用 21 楼 puyoupuyou 的回复:
我更无奈 再做热敏打印机的驱动 字符->图片->点阵的转换可是没法整了 用了一个GetBitmapBits wince6不支持 换个一个GetDIBits wince6也不支持。。。 真想知道ms是怎么做的图像转换的

GetPixel
[/Quote]
GetPiexl效率太低了,对于一个较大的图像来说就是噩梦。。。
用GetObject也得不到想要的数据,如果说我有HBITMAP的句柄,是不是这个句柄就是指向图像地址的指针呢,那么这块内存是在memDC中的么?
看来缺少理论知识就是不行呀~
shellgo 2010-08-25
  • 打赏
  • 举报
回复
楼主啊,搞定打印了吗?
xygh2006 2010-08-25
  • 打赏
  • 举报
回复
都是些大侠,我是来学习的
xiao_rq 2010-08-24
  • 打赏
  • 举报
回复
学习了,楼主不错!
tomlance 2010-08-23
  • 打赏
  • 举报
回复
虽然结贴了,但还是为没有稍微耐心一点的大虾的出现感到有一丝遗憾。经过我的了解,WinCE只对一些使用PCL语言的打印机支持。也就是说如果在PB定制的时候选择了PCL打印支持的相关组件,那么应用程序在使用PCL打印机时可以不用自己开发驱动程序。我下面给出WinCE使用PCL打印机的一个简单的例子(还没有测试,打算买PCL打印机后测试),希望和有和我一样的烦恼的同行有一点帮助。
DEVMODE *pDM = new DEVMODE;
::memset(pDM,0,sizeof(DEVMODE));
pDM->dmSize = sizeof(DEVMODE);
pDM->dmOrientation = DMORIENT_LANDSCAPE;//横向打印
pDM->dmPrintQuality = DMRES_HIGH;
pDM->dmPaperSize = DMPAPER_A4;
HDC hdc = ::CreateDC( "pcl.dll", 系统检测到的打印机的名字, "LPT1"/*使用USB接口1,如果实用接口2则是LPT2*/, pDM );//Switch between LPT1 and LPT2 depending on which USB-Port you connect the printer

创建了hdc,接下来就可以以Windows GDI的方式来打印了
puyoupuyou90 2010-08-23
  • 打赏
  • 举报
回复
我更无奈 再做热敏打印机的驱动 字符->图片->点阵的转换可是没法整了 用了一个GetBitmapBits wince6不支持 换个一个GetDIBits wince6也不支持。。。 真想知道ms是怎么做的图像转换的
Ei 2010-08-23
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 puyoupuyou 的回复:]
我更无奈 再做热敏打印机的驱动 字符->图片->点阵的转换可是没法整了 用了一个GetBitmapBits wince6不支持 换个一个GetDIBits wince6也不支持。。。 真想知道ms是怎么做的图像转换的
[/Quote]
GetPixel
shellgo 2010-08-23
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 puyoupuyou 的回复:]

我更无奈 再做热敏打印机的驱动 字符->图片->点阵的转换可是没法整了 用了一个GetBitmapBits wince6不支持 换个一个GetDIBits wince6也不支持。。。 真想知道ms是怎么做的图像转换的
[/Quote]
这个兄弟,能否交流下打印机驱动,qq:4470509
tomlance 2010-08-21
  • 打赏
  • 举报
回复
如果EnumPrinters在CE下面能用,我也不至于这么烦恼了。多谢楼上的兄弟提醒- -
winceARM 2010-08-20
  • 打赏
  • 举报
回复
首先你要知道你的BSP有没有实现打印机驱动,如果有,第一个参数为打印机驱动名(XXX.DLL),第二个参数忽略,第三个参数打印机端口名(LPTx)—————————个人见解
shellgo 2010-08-20
  • 打赏
  • 举报
回复
哥们,能不能吧你的测试程序发出来啊,最近也在研究打印机,
shellgo@126.com
谢谢啊
tomlance 2010-08-20
  • 打赏
  • 举报
回复
横向打印我自己研究出来了,在CreateDC的第四个参数,DEVMODEW里面有dmOrientation

差一点了,你们就帮我完成第一个参数吧,拜托了。 我就是想达到换不同的打印机,程序也不需要用户手动干预,自动就能打印的效果。所以拜托你们别问打印机是什么型号了,那是你们开发底层驱动的大牛们的工作,小弟只是表层的应用。
tomlance 2010-08-20
  • 打赏
  • 举报
回复
都说了在操作系统的封装gdi接口下,对打印机的品牌型号那些不关心的。 封装的工作是操作系统和驱动程序共同完成,我就是一个傻瓜式的用户,不关心那些
harkspan 2010-08-20
  • 打赏
  • 举报
回复
没有那打印机的相关资料么?再不行找那打印机的厂家问下
asideu 2010-08-20
  • 打赏
  • 举报
回复
不知道名字 你可以枚举打印机的
http://faq.csdn.net/read/200896.html
tomlance 2010-08-20
  • 打赏
  • 举报
回复
还没有解决,继续顶一顶
tomlance 2010-08-20
  • 打赏
  • 举报
回复
COM的格式我知道,打印机那个名字格式不清楚,我想尝试EnumPrinter,可是又没有这样的函数
tomlance 2010-08-19
  • 打赏
  • 举报
回复
唯一的办法是自己顶上去
harkspan 2010-08-19
  • 打赏
  • 举报
回复
默认的打印机?啥意思?查了下,不知道楼主有没Google
http://blog.csdn.net/tayosoft/archive/2007/07/12/1686160.aspx
楼主是使用的什么接口的打印机?
如果是USB接口,你需要找到这款打印机的USB驱动(针对wince的);参考下:
http://www.fish888.com/WINCE-t142976
具体驱动应该找产家拿吧
如果是并口,你需要扩展一个并口接口,并做好对应的并口的驱动;
如果是串口接口,驱动就不用做了,直接对串口进行操作,然后满足对方提出来的协议即可
我上次弄的一个是串口的,直接发串口命令就行,其它几点是看别人说的,具体也不了解,顺便贴出来
还有GetPrinterDeviceDefaults是Windows的函数吧,WinCE下可能没有实现
加载更多回复(6)
内容概要:本文研究了一种周期感知LightGBM预测与NSGA-Ⅱ优化耦合的建筑群能源系统协同调度方法,旨在提升建筑群能源系统的低碳经济性和运行效率。该方法首先利用周期感知的LightGBM模型对建筑群的能源负荷与可再生能源出力进行高精度时序预测,充分挖掘数据中的周期性规律,显著提高预测准确性;随后,结合多目标优化算法NSGA-Ⅱ,构建协同调度模型,综合考虑经济成本、碳排放和能源利用率等多个目标,求解得到一组帕累托最优调度方案,实现多目标间的均衡优化。研究通过Python编程实现了完整的预测与优化流程,并在实际场景中验证了所提方法在降低系统运行成本和减少碳排放方面的有效性。; 适合人群:具备一定Python编程基础,从事电力系统、能源管理、智能优化或机器学习相关领域的研究人员与工程技术人员,尤其适合关注多目标优化与时间序列预测融合应用的硕士、博士研究生及科研工作者。; 使用场景及目标:①应用于建筑群、园区等多主体能源系统的协同调度与低碳优化;②实现对光伏、负荷等具有强周期性特征的时间序列数据进行精准预测;③解决能源调度中经济性、环保性等多目标相互冲突的优化问题,获得兼顾各方需求的调度策略。; 阅读建议:此资源以实际代码实现为核心,建议读者在学习过程中结合Python代码,重点理解周期特征提取、LightGBM模型构建、NSGA-Ⅱ算法应用及多目标优化结果分析等关键环节,并尝试在不同场景下复现和调整参数,以深化对方法原理与工程应用的理解。
代码下载地址: https://pan.quark.cn/s/a3d7b3cb0017 ### 利用LabVIEW达成网页数据获取及网页间互动的核心技术要点 #### 一、背景与挑战界定 在当代软件开发领域,从网络页面中获取数据以及与网页进行互动的需求正逐步增长。这一需求不仅适用于数据分析范畴,同时也广泛用于自动化测试、内容采集等多个领域。本文将系统阐述如何借助LabVIEW这一功能强大的可视化编程平台,实现对网络页面数据的采集以及与网页的互动操作。 #### 二、解决策略的制定 为了达成上述目标,必须仔细考虑以下几个核心方面: 1. **如何对网页进行操控**:这包括启动、关闭浏览器窗口,以及加载特定的网络页面等操作。 2. **如何实现与网页的通讯**:这涉及如何读取网页内容,以及如何填写表单数据等任务。 3. **如何提取所需信息**:这需要深入理解HTML的结构,并能够准确定位到特定的数据元素。 #### 三、关键的技术工具 针对上述需求,LabVIEW提供了多种途径来实现网络页面的操控与数据通讯: 1. **IE控件 (Microsoft Internet Controls)**:这是一种基于ActiveX的技术,能够直接在LabVIEW中集成IE浏览器的功能。 2. **IE的自动化对象 (InternetExplorer.Application)**:这是一种COM接口,可以通过调用API来操控IE浏览器。 3. **WebBrowser控件 (.NET控件)**:LabVIEW支持.NET Framework中的WebBrowser控件,该控件提供了一系列API来操控浏览器行为。 4. **HTML文档对象模型 (HTML DOM)**:这是处理...

19,524

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧