如题

解决方案 »

  1.   

    PrintDialog dlg = new PrintDialog();
    Console.Write(dlg.PrinterSettings.DefaultPageSettings.PrinterSettings.PrinterName);
      

  2.   

    using System.Drawing.Printing; PrintDocument pdoc = new PrintDocument();
    string sdefaultname =  pdoc.PrinterSettings.PrinterName;
      

  3.   

    我不想弹出PrintDialog 这个窗口  就是在我主窗体Load时获取默认打印机的名称
      

  4.   

    foreach(string sprintername in PrinterSettings.InstalledPrinters)//获取所有打印机
    {}
      

  5.   

    声明
    [DllImport( "winspool.drv"  )]
    public static extern int GetDefaultPrinter( System.IntPtr ptr  , ref  int size );
    调用
    int size = 0;
    int n = GetDefaultPrinter( IntPtr.Zero , ref size );
    System.IntPtr ptr = Marshal.AllocHGlobal( size );
    n= GetDefaultPrinter( ptr , ref size );
    String strprint = Marshal.PtrToStringAnsi( ptr , size );