Set default printer for the machine

  • Thread starter Thread starter Vivek
  • Start date Start date
V

Vivek

Hi People,

I want to change the default printer of the machine. I tried this.

PrinterSettings pdDefault = new PrinterSettings();

pdDefault.PrinterName = "PrinterName";

It did not work. Please guide.



Thanks
 
Using System.Management and WMI.

public static void Main() {
if (SetAsDefaultPrinter("Printerdev") != 0)
{
Console.WriteLine("Failed to set default printer");
}
}
static int SetAsDefaultPrinter(string printerDevice)
{
int ret = 0;
string path = "win32_printer.DeviceId='" + printerDevice + "'";
using (ManagementObject printer = new ManagementObject(path))
{
ManagementBaseObject outParams =
printer.InvokeMethod("SetDefaultPrinter",
null, null);
ret = (int)(uint)outParams.Properties["ReturnValue"].Value;
}
return ret;
}

Willy.
 
Fantastic !!

--
- Sahil Malik
http://www.dotnetjunkies.com/weblog/sahilmalik
Please reply to the newsgroups instead of email so everyone can benefit from
your reply.


Willy Denoyette said:
Using System.Management and WMI.

public static void Main() {
if (SetAsDefaultPrinter("Printerdev") != 0)
{
Console.WriteLine("Failed to set default printer");
}
}
static int SetAsDefaultPrinter(string printerDevice)
{
int ret = 0;
string path = "win32_printer.DeviceId='" + printerDevice + "'";
using (ManagementObject printer = new ManagementObject(path))
{
ManagementBaseObject outParams =
printer.InvokeMethod("SetDefaultPrinter",
null, null);
ret = (int)(uint)outParams.Properties["ReturnValue"].Value;
}
return ret;
}

Willy.

Vivek said:
Hi People,

I want to change the default printer of the machine. I tried this.

PrinterSettings pdDefault = new PrinterSettings();

pdDefault.PrinterName = "PrinterName";

It did not work. Please guide.



Thanks
 
Back
Top