The PrintDocument object contains all the default settings for Printing.
The printing classes are in System.Drawing.Printing namespace.
The following code instantiates the PrintDocument object and displays the default Printer name.
PrintDocument pd = new PrintDocument();
MessageBox.Show(pd.PrinterSettings.PrinterName);
To get default printer without creating PrintDocument you have to use PInvoke services.
The following code displays the default printer using interop
[DllImport("winspool.Drv", EntryPoint="GetDefaultPrinter")]
public static extern bool GetDefaultPrinter(
StringBuilder pszBuffer, // printer name buffer
ref int pcchBuffer // size of name buffer
);
private void button3_Click(object sender, System.EventArgs e)
{
StringBuilder name = new StringBuilder();
int length=100;
GetDefaultPrinter(name, ref length);
MessageBox.Show(name.ToString());
}