C++怎样获得打印机列表
来源:互联网 发布:c语言表达式 编辑:程序博客网 时间:2024/04/30 02:38
//获取打印机列表
int CloginDlg::GetPrintJobList(CString szPrintName)
{
HANDLE hPrinter;
DWORD dwNeeded, dwReturned,i;
JOB_INFO_1* pJobInfo;
DWORD res = 0;
res = OpenPrinter( (LPWSTR)(LPCWSTR)szPrintName,&hPrinter,NULL);
if(!res)
return -1;
res = EnumJobs(hPrinter,0,0xFFFFFFFF,1,0,0,&dwNeeded,&dwReturned);
if(res)
{
if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
//打印列表里没任务;
ClosePrinter(hPrinter);
return 0;
}
//MessageBox("print 2");
}
//MessageBox("print ok");
pJobInfo = (JOB_INFO_1*)malloc(dwNeeded);
if(pJobInfo == NULL)
{
//MessageBox("print 3");
ClosePrinter(hPrinter);
return -1;
}
ZeroMemory(pJobInfo,dwNeeded);
DWORD dwByteUsed;
res = EnumJobs(hPrinter,0,0xFFFFFFFF,1,(LPBYTE)pJobInfo,dwNeeded,&dwByteUsed,&dwReturned);
if(!res)
{
//MessageBox("print 4");
ClosePrinter(hPrinter);
free(pJobInfo);
return -1;
}
//MessageBox("print 5");
/*for(int i=0; i<dwReturned; i++)
m_listbox.AddString(pJobInfo[i].pDocument);*/
res = pJobInfo[0].Status;
free(pJobInfo);
ClosePrinter(hPrinter);
return res;
}
int CloginDlg::GetPrintJobList(CString szPrintName)
{
HANDLE hPrinter;
DWORD dwNeeded, dwReturned,i;
JOB_INFO_1* pJobInfo;
DWORD res = 0;
res = OpenPrinter( (LPWSTR)(LPCWSTR)szPrintName,&hPrinter,NULL);
if(!res)
return -1;
res = EnumJobs(hPrinter,0,0xFFFFFFFF,1,0,0,&dwNeeded,&dwReturned);
if(res)
{
if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
//打印列表里没任务;
ClosePrinter(hPrinter);
return 0;
}
//MessageBox("print 2");
}
//MessageBox("print ok");
pJobInfo = (JOB_INFO_1*)malloc(dwNeeded);
if(pJobInfo == NULL)
{
//MessageBox("print 3");
ClosePrinter(hPrinter);
return -1;
}
ZeroMemory(pJobInfo,dwNeeded);
DWORD dwByteUsed;
res = EnumJobs(hPrinter,0,0xFFFFFFFF,1,(LPBYTE)pJobInfo,dwNeeded,&dwByteUsed,&dwReturned);
if(!res)
{
//MessageBox("print 4");
ClosePrinter(hPrinter);
free(pJobInfo);
return -1;
}
//MessageBox("print 5");
/*for(int i=0; i<dwReturned; i++)
m_listbox.AddString(pJobInfo[i].pDocument);*/
res = pJobInfo[0].Status;
free(pJobInfo);
ClosePrinter(hPrinter);
return res;
}
0 0
- C++怎样获得打印机列表
- 如何用C#获得当前机器的可用打印机列表(包括本地的和网络的)?
- 怎样获得C币
- 获得所有打印机
- 怎样使用远程打印机
- 怎样连接网络打印机
- 怎样设置打印机共享
- C# 获取打印机列表
- C#获取打印机列表
- 怎样获得Sqlserver 2000得实例列表和运行在一个实例上得数据库列表
- c语言获得设备端口列表--使用libpcap包
- 怎样获得系统环境变量
- 怎样获得高精度计时器
- 怎样获得积分
- 怎样获得积分啊。
- 怎样获得积分
- 怎样获得积分啊
- 怎样获得系统环境变量
- C与C++的争论(序言)
- 关于php连接mssql,上传图片
- 获取手机联系人以及向通讯录插入数据.
- mac 10.9.3 mongoDB安装及使用
- Watchdog kills system service in system_server
- C++怎样获得打印机列表
- Python处理HTML利器——BeautifulSoup
- zoj 1721 判断2条线段(完全)相交
- .net网站实训整理材料【二】
- 反序列化中遇到的问题
- halcon功能函数
- 浅析c++中的this指针
- 乱码
- 深入分析:Fragment与Activity交互的几种方式(三,使用接口)