首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在.NET中获取默认打印机的最佳方法是什么

在.NET中获取默认打印机的最佳方法是什么
EN

Stack Overflow用户
提问于 2008-09-17 18:25:42
回答 5查看 102.8K关注 0票数 87

我需要获取默认打印机名称。我将使用C#,但我怀疑这更多是一个框架问题,并不是特定于语言的。

EN

回答 5

Stack Overflow用户

发布于 2008-09-17 18:54:22

另一种方法是使用WMI (您需要添加对System.Management程序集的引用):

代码语言:javascript
复制
public static string GetDefaultPrinterName()
{
    var query = new ObjectQuery("SELECT * FROM Win32_Printer");
    var searcher = new ManagementObjectSearcher(query);

    foreach (ManagementObject mo in searcher.Get())
    {
        if (((bool?) mo["Default"]) ?? false)
        {
            return mo["Name"] as string;
        }
    }

    return null;
}
票数 32
EN

Stack Overflow用户

发布于 2008-09-17 20:34:31

如果你只是想要打印机的名字,那就没有任何好处了。但WMI能够返回一大堆其他打印机属性:

代码语言:javascript
复制
using System;
using System.Management;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            ObjectQuery query = new ObjectQuery(
                "Select * From Win32_Printer " +
                "Where Default = True");

            ManagementObjectSearcher searcher =
                new ManagementObjectSearcher(query);

            foreach (ManagementObject mo in searcher.Get())
            {
                Console.WriteLine(mo["Name"] + "\n");

                foreach (PropertyData p in mo.Properties)
                {
                    Console.WriteLine(p.Name );
                }
            }
        }
    }
}

而不仅仅是打印机。如果您对任何类型的计算机相关数据感兴趣,则可以使用WMI获取这些数据。WQL (SQL的WMI版本)也是它的优势之一。

票数 13
EN

Stack Overflow用户

发布于 2012-03-07 00:35:11

在本例中,我始终使用System.Printing.LocalPrintServer,它还可以获取打印机是本地打印机、网络打印机还是传真打印机。

代码语言:javascript
复制
string defaultPrinter;
using(var printServer = new LocalPrintServer()) {
  defaultPrinter = printServer.DefaultPrintQueue.FullName);
}

或者使用静态方法GetDefaultPrintQueue

代码语言:javascript
复制
LocalPrintServer.GetDefaultPrintQueue().FullName
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/86138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档