在网络上找到了这个方法:        private ManagementObjectSearcher query;
        private ManagementObjectCollection queryCollection;
        string _classname = "SELECT * FROM Win32_Printer";
        string PrinterName = "Canon iP1900 series";        query = new ManagementObjectSearcher(_classname);
            queryCollection = query.Get();
            foreach (ManagementObject mo in queryCollection)
            {
                if (string.Compare(mo["Name"].ToString(), PrinterName, true) == 0)
                {
                    mo.InvokeMethod("SetDefaultPrinter", null);
                    break;
                }
            }的确能改变打印机,但前提是:"本地打印机",如果是局域网里共享的打印,就没办法改变.望大侠们赐教,是在原基础上修改,还是有更好的调用方法