设置网络打印机 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的权限吗? 小生谢了`(不好意思 我没积分可以发的。。)