怎么获得本机的可用的所有打印机? 怎么获得本机的可用的所有打印机的列表,并设置一个为当前打印机?请各位做过打印程序的帮忙,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 增加using System.Collections.Specialized;using System.Management;使用此方法: public static StringCollection GetPrintersCollection() { StringCollection printerNameCollection = new StringCollection(); string searchQuery = "SELECT * FROM Win32_Printer"; ManagementObjectSearcher searchPrinters = new ManagementObjectSearcher(searchQuery); ManagementObjectCollection printerCollection = searchPrinters.Get(); foreach (ManagementObject printer in printerCollection) { printerNameCollection.Add(printer.Properties["Name"].Value.ToString()); } return printerNameCollection; }获取: StringCollection sc = GetPrintersCollection(); for (int i = 0; i < sc.Count; i++) { //得到可用打印机名列表 MessageBox.Show(sc[i].ToString()); } wooting(不醉):谢谢,再问一个,怎么把选中的打印机设为 默认打印机? 使用APIhttp://support.microsoft.com/kb/246772/zh-cn //设为默认打印机. public static bool SetDefaultPrinter(string printerName) { bool setDefaulted = false; ManagementObjectSearcher query; ManagementObjectCollection querycollection; string _classname = "select * from win32_printer"; 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); setDefaulted = true; break; } } return setDefaulted; } c#中数据库操作 请教一个关于程序等待窗口出现的问题 某外企Pre-Interview试题(C#版) 请教一个简单问题 C#仿QQ 头疼的问题 C#如何获取FTP服务器上的某个文件夹大小和最后修改时间 若要在加载设计器前避免可能发生的数据丢失 求几个C#的留言本…… datagrid控件,紧急支援??? 求vs.net 2003 的序列号 有必要 Stream.Flush ?? 为什么这是一个跨线程调用呢?
using System.Collections.Specialized;
using System.Management;
使用此方法:
public static StringCollection GetPrintersCollection()
{
StringCollection printerNameCollection = new StringCollection();
string searchQuery = "SELECT * FROM Win32_Printer";
ManagementObjectSearcher searchPrinters =
new ManagementObjectSearcher(searchQuery);
ManagementObjectCollection printerCollection = searchPrinters.Get();
foreach (ManagementObject printer in printerCollection)
{
printerNameCollection.Add(printer.Properties["Name"].Value.ToString());
}
return printerNameCollection;
}
获取:
StringCollection sc = GetPrintersCollection();
for (int i = 0; i < sc.Count; i++)
{
//得到可用打印机名列表
MessageBox.Show(sc[i].ToString());
}
怎么把选中的打印机设为 默认打印机?
http://support.microsoft.com/kb/246772/zh-cn
public static bool SetDefaultPrinter(string printerName)
{
bool setDefaulted = false;
ManagementObjectSearcher query;
ManagementObjectCollection querycollection;
string _classname = "select * from win32_printer"; 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);
setDefaulted = true;
break;
}
}
return setDefaulted;
}