社区
C++ Builder
帖子详情
如何判断打印机是否连接在机器上,不用
zdwrabbit
2003-08-25 09:34:00
望写出具体编码,在windows环境下。
...全文
130
7
打赏
收藏
如何判断打印机是否连接在机器上,不用<bios.h>
望写出具体编码,在windows环境下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zdwrabbit
2003-08-25
打赏
举报
回复
不好意思啊PRINTER_INFO_2* ppi2 这个值怎么显示啊??
是那种类型的啊???
我没装打印机驱动可以吗??
jishiping
2003-08-25
打赏
举报
回复
不对,上面的代码有问题。应该是:
DWORD dwSize;
BYTE buf[4096];
HANDLE hPrinter;
// 下面的PrinterName是打印机的名字。如果你指的是缺省的打印机,可以用
// Printer()->Printers->Names[Printer()->PrinterIndex].c_str() 来替代
if (OpenPrinter(PrinterName,&hPrinter,NULL)) {
if (GetPrinter(hPrinter,2,buf,sizeof(buf),&dwSize)) {
PRINTER_INFO_2* ppi2 = (PRINTER_INFO_2*)buf;
//这儿的 ppi2->Status 就是打印机的状态,比如 忙、缺纸、卡纸等等。
//你可以实际测试一下(拔掉打印机连线),看看这儿的值究竟是多少
}
ClosePrinter(hPrinter);
}
jishiping
2003-08-25
打赏
举报
回复
&pi2 前面加 (BYTE*) 就可以了。就是:
if (GetPrinter(hPrinter,2,(BYTE*)&pi2,sizeof(pi2),&dwSize)) {
jishiping
2003-08-25
打赏
举报
回复
&pi2 前面加 (BYTE*) 就可以了。就是:
if (GetPrinter(hPrinter,2,(BYTE*)&pi2,sizeof(pi2),&dwSize)) {
zdwrabbit
2003-08-25
打赏
举报
回复
第一个我试过了,不行。我是不装驱动用printf调用的,因为是超市小票的打印机。
第二个不行啊。
错误如下:
[C++ Error] Unit1.cpp(26): E2034 Cannot convert '_PRINTER_INFO_2A *' to 'unsigned char *'
[C++ Error] Unit1.cpp(26): E2342 Type mismatch in parameter 'pPrinter' (wanted 'unsigned char *', got '_PRINTER_INFO_2A *')
jishiping
2003-08-25
打赏
举报
回复
DWORD dwSize;
HANDLE hPrinter;
PRINTER_INFO_2 pi2;
// 下面的PrinterName是打印机的名字。如果你指的是缺省的打印机,可以用
// Printer()->Printers->Names[Printer()->PrinterIndex].c_str() 来替代
if (OpenPrinter(PrinterName,&hPrinter,NULL)) {
if (GetPrinter(hPrinter,2,&pi2,sizeof(pi2),&dwSize)) {
//这儿的 pi2.Status 就是打印机的状态,比如 忙、缺纸、卡纸等等。
//你可以实际测试一下(拔掉打印机连线),看看这儿的值究竟是多少
}
ClosePrinter(hPrinter);
}
hongliqiu
2003-08-25
打赏
举报
回复
TPrinter *Prntr = Printer();
....
TStringList *lt=new TStringList();
lt->Clear();
lt->Assign(Prntr->Printers);
if (lt->Count<=0)
{
Application->MessageBoxA("没有检测到打印机设备,不能够进行打印。","提示",0);
return;
}
另外还有个API函数AddPrinterConnection(cstrPrnName),也可以试试。
通俗易懂的Linux之CentOS7.x教程
CentOS是一款可自由使用源代码的企业级Linux系统,能为用户提供一个安全、低维护、稳定、高预测性的欢迎,让你操作更加方便,本课程将用CentOS 7.9版本进行课程的讲解。 课程目录:01linux的入门引入02vmvare的安装过程03vm安装centos7.9系统过程04vm解决
bios
的虚拟化技术的方法05vm的net模式分配网段的原理06centos7.9静态ip的配置过程07centos7.9关闭防火墙的方法08centos7.9的第三方
连接
方式09centos7.9的yum源更新10centos7.9的hostname和host修改11centos7.9快速配置3台
机器
iPXE精讲/PXE/DHCP/TFTP/HTTP/
BIOS
/UEFI
PXE的全程是Preboot eXecute Environment,是Intel提出来的一项用于通过网络引导系统的标准。之后在该标准之上,出现了gPXE这类免费开源的PXE扩展增强版软件,在gPXE停止开发后,iPXE作为其中一个分支继续扛起了增强和扩展的大旗,也是目前功能功能最强、使用率最广的PXE扩展增强软件。本课程以iPXE官网资料为基础,结合赵老师实际经验对官网资料进行了梳理,将其录制成一个视频课程,希望能帮助到希望学习和掌握iPXE这个软件的网络管理人员以及相关爱好者。课程在录制过程中,皆经历了前期备课和实验、现场操作视频讲解和录制,视频后期剪辑等环节。不但剪掉了讲师的无效操作,而且在对非关键视频内容进行了“快进”处理,大大节约了学员们学习的时间,同时也保持了视频的一致性与连贯性。iPXE是一个强大的工具,希望学员们能够彻底掌握此工具,将其用于自己的工作中,而从繁重的日常任务中解放出来,让自己的工作越来越轻松,同时让自己变得越来越牛X!
UEFI启动:入门、进阶与实战
UEFI是目前电脑普遍采用的
BIOS
,并且未来将成为
BIOS
的主流。如何实现UEFI下的电脑启动,是安装和管理电脑操作系统的重要课题。 《UEFI启动:入门、进阶与实战》由LTE学习大使孙宇彤老师开发和主讲,是《U盘分区与启动》以及《Windows系统启动》课程的延伸和扩展。 通过学习本课程,学员可以了解UEFI的特点,并且能设置UEFI启动,并且制作支持UEFI启动的U盘,实现多种操作系统的引导。
搭建测试环境之安装Windows7系统
无论是功能测试还是性能测试,都要搭建测试环境,它也是测试人员必备技能之一,本课程主要介绍在VMware Workstation下安装Windows7系统,一步一步进行安装,非GHOST版本。
Window Server 2008 R2系统安装说明
功能测试或性能测试,一般都要由测试人员搭建测试环境,而服务器环境的搭建更为重要,那么就涉及到服务器操作系统的选择和安装,本课程主要讲解Window Server 2008 R2系统安装说明。
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章