C/Visual C - Problema con winspool.h en VC 6(Buscar impresoras)

 
Vista:

Problema con winspool.h en VC 6(Buscar impresoras)

Publicado por Nelek (816 intervenciones) el 08/05/2007 08:27:52
Hola,

estoy intentando crearme mi propio dialogo de impresion porque muchas de las opciones de CPrintDialog no son "validas" para mi proyecto, pero tengo problemas a la hora de rellenar el ComboBox de seleccion del dispositivo. Para ello estoy haciendo esto:

DWORD dwSize, dwPrinters;
::EnumPrinters (PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &dwSize, &dwPrinters);

BYTE* pBuffer = new BYTE[dwSize];

::EnumPrinters (PRINTER_ENUM_LOCAL, NULL, 5, pBuffer, dwSize, &dwSize, &dwPrinters);

if (dwPrinters != 0)
{
PRINTER_INFO_5* pPrntInfo = (PRINTER_INFO_5*) pBuffer;
for (UINT i = 0; i < dwPrinters; i++)
{
m_ccbPrinters.AddString (pPrntInfo->pPrinterName);
pPrntInfo++;
}
}

delete[] pBuffer;

Lo cual toma las impresoras del registro de windows y las pone en el combobox. Hasta ahi perfecto, pero resulta que me faltan un par de impresoras que estan dentro de "Panel de control - Impresoras". Dichas dos impresoras son impresoras de red, por lo que no tienen entrada en el registro (o al menos no donde este codigo busca).

Alguien me puede dar una pista como debo incluirlas? Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con winspool.h en VC 6(Buscar impresor

Publicado por fernando.gomez (1604 intervenciones) el 08/05/2007 17:46:10
Pues supongo que podrías hacer otra llamada a EnumPrinters pasándole como primer parámetro PRINTER_ENUM_NETWORK para que te liste las que están en red. Más aún, quizás sea posible hacer un or:

::EnumPrinters (PRINTER_ENUM_LOCAL | PRINTER_ENUM_NETWORK, NULL, 5, NULL, 0, &dwSize, &dwPrinters);

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con winspool.h en VC 6(Buscar impresor

Publicado por Nelek (816 intervenciones) el 09/05/2007 09:52:32
Hola Fernando,

Muchas gracias por la respuesta, voy a intentarlo con el "or" y si no probare haciendolo en dos pasos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con winspool.h en VC 6(Buscar impresor

Publicado por magdalena (1 intervención) el 29/11/2008 16:28:41
hola quiero saber como desinstalar winspool quiero repuestas lo antes posible ok gracias por prestarme atencion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar