如何在C#.NET中设置Windows默认打印机?
使用SetDefaultPrinter Windows API。
这是如何pInvoke。
using System; using System.Drawing.Printing; using System.Windows.Forms; using System.Runtime.InteropServices; namespace WindowsFormsApplication1 { public partial class Form1 : Form { private void listAllPrinters() { foreach (var item in PrinterSettings.InstalledPrinters) { this.listBox1.Items.Add(item.ToString()); } } private void listBox1_SelectedValueChanged(object sender, EventArgs e) { string pname = this.listBox1.SelectedItem.ToString(); myPrinters.SetDefaultPrinter(pname); } public Form1() { InitializeComponent(); listAllPrinters(); } } public static class myPrinters { [DllImport("winspool.drv", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool SetDefaultPrinter(string Name); } }