about C#, C++, Java, sql, java script etc.

Tuesday, April 13, 2010

Rename a printer using C-sharp (C#)

WMI provides an easy way to manage system resources such as printers, scanners, processes etc. In the example below, I show how to rename a printer using a WMI query in c#:
    private void RenamePrinter(string oldName, string newName)
{
ManagementObjectSearcher query = new ManagementObjectSearcher(
"SELECT * FROM Win32_Printer");

ManagementObjectCollection result = query.Get();

foreach (ManagementObject printer in result)
{
if (printer["name"].ToString() == oldName)
{
printer.InvokeMethod("RenamePrinter",
new object[] { newName });
return;
}
}
}

In a similar way, one can change a default printer:
    private void SetDefaultPrinter(string printerName)
{
ManagementObjectSearcher query = new ManagementObjectSearcher(
"SELECT * FROM Win32_Printer");

ManagementObjectCollection result = query.Get();

foreach (ManagementObject printer in result)
{
if (printer["name"].ToString() == printerName)
{
printer.InvokeMethod("SetDefaultPrinter",
new object[] {printerName});
return;
}
}
}
If you need some other useful WMI methods of the object Win32_Printer, check out WMI CIM Studio, a tool that comes with WMI Administrative Tools.

1 comment:

  1. This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.. renting impresoras barcelona

    ReplyDelete