【问题标题】:Get VID/ PID of printer using C# with unknown device id使用带有未知设备 ID 的 C# 获取打印机的 VID/PID
【发布时间】:2021-11-12 18:28:22
【问题描述】:

我有一台 USB 打印机。我也不知道如何获取设备 ID。我想使用 c# 代码获取 vid/pid。任何帮助表示赞赏。

【问题讨论】:

    标签: c# .net usb printers deviceid


    【解决方案1】:

    你试过了吗:

    using System.Management;
    ManagementObjectSearcher myPrinterObject = new ManagementObjectSearcher("select * from Win32_Printer");
    
    foreach (ManagementObject obj in myPrinterObject.Get())
    {
        Console.WriteLine("Name  -  " + obj["Name"]);
        Console.WriteLine("Network  -  " + obj["Network"]);
        Console.WriteLine("Availability  -  " + obj["Availability"]);
        Console.WriteLine("Is default printer  -  " + obj["Default"]);
        Console.WriteLine("DeviceID  -  " + obj["DeviceID"]);
        Console.WriteLine("Status  -  " + obj["Status"]);
        
        Console.WriteLine(String.Empty.PadLeft(obj["Name"].ToString().Length, '='));
    }
    

    WMI 属性是: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-printer?redirectedfrom=MSDN

    您还可以使用 C++ 包装器包装制造商 DLL,然后从您的 C# 应用程序中无缝调用它,但这可能会花费您很长时间来编写!

    【讨论】:

    • 对“组件”类型的引用声称它在“系统”中定义,但找不到
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多