设置网络打印机 OpenPrinter失败
其实就是一个权限问题。我需要设置一台局域网中的共享打印机的默认设置。但是我调用API OpenPrinter的时候会失败。获取本地的打印机就没这个问题。 报错是:ERROR_ACCESS_DENIED 5 Access is denied. 代码如下。
HANDLE hPrinter = NULL;
DWORD dwNeeded = 0;
PRINTER_INFO_2 *pi2 = NULL;
DEVMODE *pDevMode = NULL;
PRINTER_DEFAULTS pd;
BOOL bFlag;
LONG lFlag;
// Open printer handle (on Windows NT, you need full-access because you
// will eventually use SetPrinter)...
ZeroMemory(&pd, sizeof(pd));
pd.DesiredAccess = PRINTER_ALL_ACCESS;
bFlag = OpenPrinter(pPrinterName, &hPrinter, &pd);
if (!bFlag || (hPrinter == NULL))
{
DWORD dwCode = GetLastError();
AfxMessageBox ("OpenPrinter failed.");
return FALSE;
}
有人知道如何获取SetPrinter的权限吗? 小生谢了`(不好意思 我没积分可以发的。。)
HANDLE hPrinter = NULL;
DWORD dwNeeded = 0;
PRINTER_INFO_2 *pi2 = NULL;
DEVMODE *pDevMode = NULL;
PRINTER_DEFAULTS pd;
BOOL bFlag;
LONG lFlag;
// Open printer handle (on Windows NT, you need full-access because you
// will eventually use SetPrinter)...
ZeroMemory(&pd, sizeof(pd));
pd.DesiredAccess = PRINTER_ALL_ACCESS;
bFlag = OpenPrinter(pPrinterName, &hPrinter, &pd);
if (!bFlag || (hPrinter == NULL))
{
DWORD dwCode = GetLastError();
AfxMessageBox ("OpenPrinter failed.");
return FALSE;
}
有人知道如何获取SetPrinter的权限吗? 小生谢了`(不好意思 我没积分可以发的。。)
...全文
相关推荐
使用C++实现打印机驱动枚举
本文还有配套的精品资源,点击获取 简介:打印机驱动是操作系统与物理打印机沟通的桥梁,本文重点介绍如何使用C++和Windows API来枚举本地及网络打印机驱动和端口。这涉及到包含 windows.h 头文件、使用 EnumPrinters 函数及处理 PRINTER_INFO_2 结构体来获取并显示打印机的详细信息。掌握这些技术将...
基于虚拟打印机技术实现跨网络打印:KKPrinter架构与二次开发指南
打印机共享是IT运维中的常见需求,传统基于SMB协议的Windows共享方案在跨网络、跨系统版本时极易出现0x00000709、0x000006ba等兼容性错误。其原理依赖于局域网内的网络发现和文件共享协议,在复杂网络环境下稳定性差。为解决这一问题,虚拟打印机技术提供了一种新思路:通过在系统层创建虚拟打印设备,拦截并重定向打印数据流,从而绕过传统共享协议的限制。这种方案的技术价值在于将打印任务从网络层问题转化为应用层的数据传输问题,实现了真正的跨网络、跨系统打印。其核心应用场景包括分布式办公、生产车间与研发
#include BLEDevice.h.pages
#include BLEDevice.h.pages
科技中介服务机构如何利用智能体技术提升技术交易服务的专业性与便捷性?.docx
科技中介服务机构如何利用智能体技术提升技术交易服务的专业性与便捷性?
AI 完成消除游戏自动化经验总结
打包的测试代码工程,基本不侵入游戏


新手乐园

