您可以使用此代码:
// produce wmi query object
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Printer);
// produce search object
ManagementObjectSearcher search = new ManagementObjectSearcher(quer);
// retrieve result collection
ManagementObjectCollection restul = search.Get();
// iterate through all printers
foreach(ManagementObject obj in result)
{
// now create your temp printer class
Dictionary printerObj = new Dictionary();
if(obj.GetPropertyValue("Local").ToString().Equals("true"))
{
printerObj.Add("isLocal", true);
printerObj.Add("name", obj.GetPropertyValue("name").ToString());
}
else
{
printerObj.Add("isLocal", false);
printerObj.Add("serverName", obj.GetPrope