Preciso obter a lista de todas as impressoras que se conectam ao computador?
Como posso fazer isso em C #, WinForms?
Experimente isto:
foreach (string printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
MessageBox.Show(printer);
}
Se precisar de mais informações do que apenas o nome da impressora, você pode usar a
System.Management
API para consultá-los:fonte
Observe a propriedade estática System.Drawing.Printing.PrinterSettings.InstalledPrinters .
É uma lista dos nomes de todas as impressoras instaladas no sistema.
fonte
Obtenha a lista de impressoras locais e de rede em ASP.NET
Este método usa a Instrumentação de Gerenciamento do Windows ou a interface WMI. É uma tecnologia usada para obter informações sobre vários sistemas (hardware) em execução em um sistema operacional Windows.
Clique aqui para baixar o código-fonte e a demonstração do aplicativo
Demonstração de aplicativo que listava rede e impressora local
fonte
Você também pode usar a classe LocalPrintServer. Veja: System.Printing.LocalPrintServer
Conforme declarado nos documentos: As classes no namespace System.Printing não têm suporte para uso em um serviço do Windows ou aplicativo ou serviço ASP.NET.
fonte
Se você estiver trabalhando com MVC C #, esta é a maneira de lidar com impressoras e portas seriais para menus suspensos.
fonte