Я работаю над приложением для обнаружения физических принтеров на устройстве Windows. Я использую WMI для принтеров, который работает с некоторыми необходимыми мне данными, но не возвращает другую необходимую информацию, такую как номер модели, серийный номер и т. д., как показано в
https://learn.microsoft.com/en- us/windows/win32/cimwin32prov/cim-printer
Вот простой код, который я использую для доступа к принтерам с помощью WMI:
Код: Выделить всё
public async Task DiscoverPrinters()
{
List printers = new();
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer");
foreach (ManagementObject printerObject in searcher.Get())
{
if (IsPhysicalPrinter(printerObject["Name"]?.ToString()))
{
var printer = CreatePrinter(printerObject);
if (printer != null)
{
printers.Add(printer.Result);
}
}
}
}
catch (Exception ex)
{
await _databaseService.LogException(ex);
}
return printers;
}
Я просматривал другие сообщения, но нашел только предложения по использованию принтера WMI, что я уже делаю, как показано в приведенном выше коде. Кроме того, я кратко рассмотрел другие API и до сих пор не нашел ничего, что помогло бы получить доступ к информации на изображении ниже, которая находится в «Настройки» => «Bluetooth и устройства» => «Принтеры и сканеры» => {выбранный принтер}. /p>

Как мне получить доступ к этой информации? Заранее спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... nformation