如何监测打印机打印了几张?

xwjbs 2006-03-16 09:50:04
如何监控打印机打印了几张纸。
...全文
400 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwjbs 2006-03-20
  • 打赏
  • 举报
回复
打印文档是不是有打印消息WM_PRINT...我用钩子钩住如何?
xwjbs 2006-03-20
  • 打赏
  • 举报
回复
如何做到一旦有打印事件就去得到通知,不会丢失打印事件?
xwjbs 2006-03-20
  • 打赏
  • 举报
回复
问题还有:我多长时间检测一次打印机?如何不重复的纪录打印信息?
danielzhu 2006-03-17
  • 打赏
  • 举报
回复
//建立一个线程定时检测打印队列
DWORD WINAPI CheckPrinter(LPVOID _lp)
{
CheckThreadPa *pa=(CheckThreadPa*)_lp;

DWORD dwbytes=0;
DWORD dwcount=0;

while(TRUE)
{
DWORD dwCode=WaitForSingleObject(pa->hExitEvent,0);
if(dwCode==WAIT_OBJECT_0)
break;

dwbytes=0;
dwcount=0;
EnumJobs(pa->hPrinter,0,127,2,0,0,&dwbytes,&dwcount);
if(dwbytes==0)
{
Sleep(50);
continue;
}

int cnt=dwbytes/sizeof(JOB_INFO_2) + 1;
JOB_INFO_2 *jobs=new JOB_INFO_2[cnt];

dwbytes=0;
dwcount=0;
EnumJobs(pa->hPrinter, 0, 127, 2,(LPBYTE)jobs, cnt*sizeof(JOB_INFO_2), &dwbytes, &dwcount);
// printf("Bytes=%u Jobs=%u\n", dwbytes,dwcount);

for(DWORD i=0; i<dwcount; i++)
{
char subtime[32]={0};
sprintf(subtime,"%u-%u-%u %02u:%02u:%02u\n",
jobs[i].Submitted.wYear,
jobs[i].Submitted.wMonth,
jobs[i].Submitted.wDay,
jobs[i].Submitted.wHour+8,
jobs[i].Submitted.wMinute,
jobs[i].Submitted.wSecond);

char szSize[10]={0};
jobs[i].Size==0 ? strcpy(szSize,"-") : itoa(jobs[i].Size,szSize,10);

char szPages[10]={0};
jobs[i].TotalPages==0 ? strcpy(szPages,"-") : itoa(jobs[i].TotalPages,szPages,10);

char msg[1024]={0};
sprintf(msg,"9\t%3\t1\t%s\t%s\t%s\t%s\t%s\t%s\t%s",
//jobs[i].JobId, //任务号
jobs[i].pMachineName, //主机地址
jobs[i].pUserName, //用户名
subtime, //打印时间
jobs[i].pDocument, //文档名
szSize, //大小
szPages, //页数
jobs[i].pDevMode->dmFormName //纸张类型
);

if( !mylog.CheckId(jobs[i].JobId) )
{
mylog.Write(msg);
OutputDebugString(msg);
}
}
delete jobs;

Sleep(1000);
}

return 0;
}
danielzhu 2006-03-17
  • 打赏
  • 举报
回复
有个函数,可以枚举打印队列,每个打印任务需要几张纸,都可以的
lisypro 2006-03-17
  • 打赏
  • 举报
回复
调用API
jason176374 2006-03-17
  • 打赏
  • 举报
回复
关于打印任务:
我可以监控打印任务, 得到相关信息.也可以通过SETJOB把任务删除.

我想问: 是不是我对任意打印机都有这种权限? 因为我看JOB_INFO结构中有权限描述的东西.

谢谢..

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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