Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wren

Lendo status da impressora de rede

Recommended Posts

Olá pessoal, tudo bem??

 

Eu estou fazendo uma aplicação pra gerenciamento de impressoras e consigo me conectar tranquilamente à impressora local e buscar as informações dela usando a api System.Management em C#.

 

O que eu queria saber é como fazer isso pra uma impressora localizada na rede. É possível?

 

Obrigado desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET »Windows Applications

 

Da uma olhada na documentação da MSDN: http://msdn.microsoft.com/pt-br/library/aa970845.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra constar:

 

Eu estou tentando pegar os status das impressoras que estão na minha rede, mas eu não tenho um servidor de impressão.

 

Esta classe funcionaria tb?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas acho que isso é problema na impressora e não na aplicação.

Esta conseguindo imprimir normalmente utilizando outros meios??

 

Abraços...

 

Opa, beleza?

 

Então, eu estou imprimindo normalmente. De fato, consigo acessar o status da impressora pela página dela mesma, porém a aplicação q estou fazendo vai varrer todas as impressoras da rede, ler os status, e dispor esta informação sem eu precisar acessar a impressora individualmente.

 

Este código aqui deve acessar as impressoras da rede e trazer o nome de cada uma delas:

 

string strServer = "\\\\***"; 
			ConnectionOptions options = new ConnectionOptions();
			options.Username = "***";
			options.Password = "***";
			options.Authority = "NTLMDOMAIN:***";

			ManagementScope myScope = new ManagementScope(strServer + "\\root\\cimv2", options);
			SelectQuery oQuery = new SelectQuery("SELECT * FROM WIN32_Printer");
			ManagementObjectSearcher oResults = new ManagementObjectSearcher(myScope, oQuery);

			foreach (ManagementObject oItem in oResults.Get)
			{
				string strPrinterName = oItem.Properties["DeviceID"].Value.ToString();
				Console.WriteLine(strPrinterName);
			}

No entanto, ele dá o seguinte erro (oResults.Get):

 

O servidor RPC não está disponível. (Exception from HRESULT: 0x800706BA)

Só uma observação:

 

Estive vendo as configurações da impressora, e ela não está em domínio, e tal. Está com um IP fixo em um outro domínio.

 

Vou configurar aqui e postar em seguida os resultados.

 

Aparentemente, é isso mesmo.

 

Tentei acessar um PC que estava no domínio e o erro foi "acesso negado"

 

Logo, será que o System.Management neste caso só funcionaria pra acessar impressoras que estivessem em um domínio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.