Click here to Skip to main content
Click here to Skip to main content
Technical Blog

One small thing about printers and Windows

, 16 Jun 2012 CPOL
Rate this:
Please Sign up or sign in to vote.
List all printers that connect to a PC and make the default printer print.

Last night I coded a project in C#. Its function is to list all printers that connect to a PC and make the default printer print. Print documents are images. I've never worked in that kind of work so I Googled and got some tuts. The tuts said: "Honey, just create a PrintDocument object, the freshly-created one contains a list and the first element is the default printer." I believe them, I did as they told without testing and delivered to my customer. Bullsh!t, it was not entirely not right.

I had to go back to the traditional way, access the system and read some info blah blah. You should know that I wrote a small e-book about WMI, surely I used this tool. The WMI code to get the name of the default printer in Windows OS is shown here:

public 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;
}

My mate Bình Minh said that, sometimes she read her old source code, still understand it but she doesn't really know why she could write these. I am writing this blog post to prevent this situation Smile | :) ) Have fun.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Duc Huy Nguyen

Vietnam Vietnam
Oops!

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web04 | 2.8.141015.1 | Last Updated 16 Jun 2012
Article Copyright 2012 by Duc Huy Nguyen
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid