c# 调用打印机

本文介绍了如何在C#中调用本地和网络打印机,包括使用System.Drawing.Printing.PrinterSettings进行本地打印,以及通过链接StackOverflow资源实现网络打印机的远程调用。同时,提到了System.Management类在获取系统硬件信息中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.本地打印机

 //添加引用并using System.Management;
        public static void AvailablePrinters()
        {
            ManagementScope ms = new ManagementScope(ManagementPath.DefaultPath);
            ms.Connect();
 
            SelectQuery sq = new SelectQuery();
            sq.QueryString = @"SELECT Name FROM Win32_Printer";
 
            ManagementObjectSearcher mos =
               new ManagementObjectSearcher(ms, sq);
            ManagementObjectCollection oObjectCollection = mos.Get();
 
            foreach (ManagementObject mo in oObjectCollection)
                MessageBox.Show(mo["Name"].ToString());
 
        }

2.网络打印机

远程调用打印机:http://stackoverflow.com/questions/10888201/how-to-list-all-printers-on-network-computer

 

via System.Drawing.Printing

foreach (String printer in PrinterSettings.InstalledPrinters)
{
    Console.WriteLine(printer.ToString()+Environment.NewLine);
} 
via WMI
public static void AvailablePrinters() { oManagementScope = new ManagementScope(ManagementPath.DefaultPath); oManagementScope.Connect(); SelectQuery oSelectQuery = new SelectQuery(); oSelectQuery.QueryString = @"SELECT Name FROM Win32_Printer"; ManagementObjectSearcher oObjectSearcher = new ManagementObjectSearcher(oManagementScope, @oSelectQuery); ManagementObjectCollection oObjectCollection = oObjectSearcher.Get(); foreach (ManagementObject oItem in oObjectCollection) { Console.WriteLine("Name : " + oItem["Name"].ToString()+ Environment.NewLine); } }
via PowerShell Get
-WMIObject -class Win32_Printer -computer $printserver | Select Name,DriverName,PortName

相关:

https://msdn.microsoft.com/zh-cn/library/System.Drawing.Printing.PrinterSettings(v=vs.85).aspx

https://msdn.microsoft.com/en-us/library/aa394582(v=VS.85).aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/dd835506(v=vs.85).aspx

 

https://msdn.microsoft.com/zh-cn/library/System.Management(v=vs.80).aspx

 

 

参考文章:

http://www.cnblogs.com/chengulv/archive/2012/12/29/2839303.html

=======================================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值