社区
Windows SDK/API
帖子详情
请问各位高手:怎样检测该机器是否有打印机和怎样访问打印队列?
xiaoguoru
2003-04-15 01:32:34
同上。
...全文
74
2
打赏
收藏
请问各位高手:怎样检测该机器是否有打印机和怎样访问打印队列?
同上。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jishiping
2003-04-15
打赏
举报
回复
OpenPrinter 的第一个参数是打印机的名称。上面的 Printer()->Printers->Strings[
Printer()->PrinterIndex] 就是系统选择的缺省的打印机名称。如果想要枚举其它的打
印机队列,只要更改OpenPrinter的第一个参数就可以了。打印机的名字可以从Printer()
->Printers->Strings[Index]取得(Index是打印机的序号,从0开始)。
jishiping
2003-04-15
打赏
举报
回复
1、该机器是否有打印机?
使用 Printer()->Printers->Count>0 判断是否有打印机。
2、访问当前选择的打印机的打印队列,主要使用API函数EnumJobs枚举。下面是一个例子:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DWORD dwNum;
DWORD dwSize;
HANDLE hPrinter;
char buf[1024];
JOB_INFO_1* pji;
if (!OpenPrinter(Printer()->Printers->Strings[
Printer()->PrinterIndex].c_str(),&hPrinter,
NULL)) {
ShowMessage(SysErrorMessage(GetLastError()));
return;
}
Memo1->Clear(); pji = (JOB_INFO_1*)buf;
for(int n=0; 1; n++) {
if (!EnumJobs(hPrinter,n,1,1,buf,sizeof(buf),
&dwSize,&dwNum) || dwNum==0)
break;
if (n!=0) Memo1->Lines->Add("");
Memo1->Lines->Add(AnsiString("Job ")+n);
Memo1->Lines->Add(AnsiString("UserName: ")+
pji->pUserName);
Memo1->Lines->Add(AnsiString("Document: ")+
pji->pDocument);
Memo1->Lines->Add(AnsiString("Status: ")+
pji->pStatus);
Memo1->Lines->Add(AnsiString("TotalPages: ")+
pji->TotalPages);
Memo1->Lines->Add(AnsiString("PagesPrinted: ")+
pji->PagesPrinted);
}
ClosePrinter(hPrinter);
}
SAP常用命令、 BASIS操作
Pfcg 角色,权限参数文件配置Su53 查看权限对象 st01 跟踪St22 看dump,以分析错误 eg.找到ABAP程序出错的地方,找出founction,用se...
攻击防范六(整理)
八种扫描器说明八种扫描器说明⑴NSS(网络安全扫描器) NSS由Perl语言编成,它最根本的价值在于它的速度,它运行速度非常快,它可以执行下列常规检查: ■Sendmail ■匿名FTP ■NFS出口 ■TFTP ■Hosts.equiv ■Xhost 注:除非你拥有最高特权,否则NSS不允许你执行Hosts.equiv。 利用NSS,用户可以增加更强大的功能,其中包括: ■AppleTalk扫描
2023华为机试真题
0,3]和[1,3]的公共区间为[1,3],[0,3]和[3,5]的公共区间为[3,3],[0,3]和[3,6]的公共区间为[3,3], [1,3]和[3,5]的共区间为[3,3],[1,3]和[3,6]的共区间为[3,3], [3,5]和[3,6]的公共区间为[3,5], 公共区间列表为[[1,3], [3,3], [3,5]],他们合并后的区间为[1,5]。任意两个给定区间的交集,称为公共区间(如:[1,2], [2,3]的公共区间为[2,2], [3,5],[3,6]的公共区间为[3,5])。
【LINUX】linux操作系统基础、原理与应用复习
硬件:中央处理器CPU 内存 设备软件:系统软件 应用软件静态:程序、数据、文档信息动态:运行与CPU和内存的指令流计算机系统的资源处理器(CPU)存储器(内存)输入/输出设备(I/O设备): 终端设备(显示器、鼠标、键盘) 通讯设备(MODEM、网络适配器等) 外部存储设备(硬盘、软盘、移动存储) 其他设备(
打印
机
、多媒体设备等)文件Linux的起源1971,Unix诞生于AT&T Bell实验室。2万行代码,短小精悍,70年代免费 开源,但不免费。
电脑知识大全
电脑知识大全详细研究WinXP中CPU占用100%原因及解决方法CPU占用100%案例分析 电脑硬件知识大全(看完了你就成硬件
高手
了)电脑故障排除之“八先八后”网络诊所病历大公布
机器
响铃不断,这时,如果你知道响铃的含意,就不用去请教专业人员了。硬件故障判断如何预防使用软件引发电脑硬盘的六大"硬伤扩展名查询大全windows罕见技巧集(收集整理)windows XP技巧终极必杀全集正确安装
机器
不
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章