65,186
社区成员




BOOL ToFindPrinter_1()
{
DWORD dwFlags = PRINTER_ENUM_NETWORK | PRINTER_ENUM_LOCAL | PRINTER_ENUM_REMOTE;
LPPRINTER_INFO_1 pPrinters;
DWORD cbPrinters;
DWORD cReturned, i;
// char buf[256];
EnumPrinters (dwFlags, NULL, 1, NULL, 0, &cbPrinters,
&cReturned);
if (!(pPrinters = (LPPRINTER_INFO_1) LocalAlloc (LPTR, cbPrinters + 4)))
{
MonitorInfo("Alarm:EnumPrinters failed: %d\n",GetLastError());
return FALSE;
}
if (!EnumPrinters (dwFlags, NULL, 1, (LPBYTE) pPrinters,
cbPrinters, &cbPrinters, &cReturned))
{
MonitorInfo("Alarm:EnumPrinters failed: %d\n",GetLastError());
return FALSE;
}
if (cReturned > 0)
{
for (i = 0; i < cReturned; i++)
{
MonitorInfo("Find Printer #[%d/%d]: %s \n %s \n %s ",i+1,cReturned,(pPrinters + i)->pName,(pPrinters + i)->pDescription,(pPrinters + i)->pComment);
if(strcmp((pPrinters + i)->pName,m_PrinterName)==0)
{
m_bFindPrinter=TRUE;
return TRUE;
}
}
}
return FALSE;
}