Hola CISCU veo que se te presento el mismo problema que a mi efectivamente el error se genera porque la impresora esta apagada o no hay conexión de red por otros motivos encontré la sig. Función para detectar los recursos de red que están disponibles pero no logro que me muestre las impresoras.
Si logras algo avisame.
Código:
procedure TFormImpresoras.Button1Click(Sender: TObject);
var
RecursoRed :TNetResource;
Mango :THandle;
NumeroEntradas :DWord;
Buffer :Array [1..50] of TNetResource;
LongBuffer :DWord;
n :Integer;
begin
LongBuffer:=SizeOf(Buffer);
if WNetOpenEnum( RESOURCE_CONNECTED,
RESOURCETYPE_ANY,
RESOURCEUSAGE_CONNECTABLE,
nil,
Mango
)<> No_ERROR then ShowMessage('Error');
NumeroEntradas:=10;
WNetEnumResource( Mango,
NumeroEntradas,
@Buffer[1],
LongBuffer
);
Memo1.Lines.Clear;
for n:=1 to NumeroEntradas do
memo1.Lines.Append(Buffer[n].lpRemoteName);
end;