سؤال

أنا أستعمل :

ManagementObjectSearcher searcher = new 
    ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer"); 

للحصول على الطابعات ولكنها تجد الطابعات المحلية ..من الممكن تحديد طابعات الشبكة، ربما عن طريق IP؟

هل كانت مفيدة؟

المحلول

يمر "شبكة" إلى مفهرس الكائنات لكل عنصر في ManagementObjectCollection.إذا كانت الطابعة طابعة شبكة فسوف يعود صحيحا.كما يمكنك المرور "محلي" لتحديد ما إذا كانت الطابعة محلية.

var searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer");
var results = searcher.Get();

IList<ManagementBaseObject> printers = new List<ManagementBaseObject>();

foreach (var printer in results) {
    if ((bool)printer["Network"]) {
        printers.Add(printer);
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top