社区
多媒体
帖子详情
如何获得打印机状态?
JB-Zhang
2003-08-22 02:07:22
有什么办法可以知道打印机的状态?(是就绪还是其它)
...全文
54
3
打赏
收藏
如何获得打印机状态?
有什么办法可以知道打印机的状态?(是就绪还是其它)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JB-Zhang
2003-08-22
打赏
举报
回复
TO: zqfleaf(动力港湾)
文章中的方法可以得到系统当前默认打印机的情况,可是有没有办法得到系统中已安装的所有打印机的情况呢?
dandy1437
2003-08-22
打赏
举报
回复
SetPrinter
VB声明
Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Byte, ByVal Command As Long) As Long
说明
对一台打印机的状态进行控制
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hPrinter Long,指定一个已打开的打印机的句柄(用OpenPrinter取得)
Level Long,0,2或3(4或5用于windows95,5或6用于NT 4.0)。如Command不是零,则这个参数必须是零
pPrinter Byte,包含一个PRINTER_INFO_x的结构的缓冲区,其中的x代表级别的设定(Level)。假如级别为零,并且Command设为PRINTER_CONTROL_SET_STATUS,那缓冲区就包含了一个PRINTER_CONTROL_STATUS结构。否则,如级别为零,就设为NULL(要把声明变成ByVal As Long,以便传递零值)
Command Long,下述值之一:
零 根据PRINTER_INFO_x结构改变打印机
PRINTER_CONTROL_PAUSE 暂停打印机
PRINTER_CONTROL_PURGE 删除打印机的所有作业
PRINTER_CONTROL_RESUME 恢复一台暂停的打印机
PRINTER_CONTROL_SET_STATUS 载入打印机的PRINTER_CONTROL_STATUS结构(不可在NT 3.51下使用)
注解
在PRINTER_INFO_2结构的基础上设置打印机状态时,pServerName,AveragePPM,Status和cJobs字段都会被忽略
zqfleaf
2003-08-22
打赏
举报
回复
http://support.microsoft.com/default.aspx?scid=kb;en-us;202480
VBA 获取
打印机
状态
vba 通过WMI服务,查找本机所有打印服务,通过
打印机
名称历遍所有
打印机
实施
状态
,如等待中.打印中等
QT实现读取
打印机
状态
目前针对QT打印PDF和获取
打印机
状态
,通过几天的确认发现三个层面的获取
状态
1. QT应用程序级别的获取
打印机
状态
,通过QPrint 2. 通过LINUX系统级别的获取 lpstat -l -p 3. 通过
打印机
厂家的API
获得
计算机
状态
目前只实现前两种的
状态
获取,第三种没有实现,需要给
打印机
厂家要API,同时实现QT打印图片和生成PDF文件
通过PJL协议,获取惠普USB
打印机
状态
的C#演示代码
因项目需要通过程序获取
打印机
状态
,但网上找到的都是通过windows API获取的,但前提条件是能打开
打印机
设置中的“双向通讯”,但我的
打印机
设置是灰的,怎么安装驱动都没有用,估计根本不支持,所以只能采用其他办法了。使用Printer Job Language协议,获取USB
打印机
缺纸
状态
的C#demo,另外附上了Printer Job Language协议。其他
状态
如卡纸,缺墨等
状态
根据协议不难
获得
。
VC 6.0
获得
打印机
信息.rar
VC 6.0
获得
打印机
信息,获取到
打印机
的名称、端口名称、驱动名称等。下面我把关键代码帖出来吧: void CDemoDlg::OnTest() { //打印对话框 DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_NOSELECTION | PD_HIDEPRINTTOFILE; CPrintDialog dlg(FALSE); if (dlg.DoModal() == IDOK) { //
获得
设备名称 CString strDeviceName = dlg.GetDeviceName(); //
获得
端口名称 CString strPortName = dlg.GetPortName(); //
获得
驱动名称 CString strDriverName = dlg.GetDriverName(); CString strText = _T(""); strText.Format(_T("设备:%s\n端口:%s\n驱动:%s"), strDeviceName, strPortName, strDriverName); AfxMessageBox(strText); } }
excel vba中设置
打印机
的代码
在excel中通过注册表
获得
所有系统
打印机
,并根据需要指定其一的代码。
多媒体
809
社区成员
8,275
社区内容
发帖
与我相关
我的任务
多媒体
VB 多媒体
复制链接
扫一扫
分享
社区描述
VB 多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章