GetDevice, кажется, смущен "Generic/Text Only"
вы передаете его.
Метод PosExplorer.GetDevice(String)
(т. Е. Один принимающий единственный параметр) возвращает устройство по умолчанию для данного класса устройства. Класс устройства должен быть одной из констант от DeviceType
класса (DeviceType.PosPrinter
в вашем случае). Это то, что GetDevice(String)
ожидает в качестве параметра:
DeviceInfo receiptPrinterDevice = posExplorer.GetDevice(DeviceType.PosPrinter);
Обратите внимание, что если вы собираетесь использовать этот метод, убедитесь, что вы настроили ваш принтер по умолчанию (или нет других устройств этого типа).
Возможно, вы захотите рассмотреть возможность использования более общей альтернативы. PosExplorer.GetDevice(String, String)
принимает имя устройства в качестве второго параметра, так что вы не привязаны к устройству по умолчанию только:
DeviceInfo receiptPrinterDevice = posExplorer.GetDevice(DeviceType.PosPrinter, <device name>);
<device name>
может быть просчитан с помощью
"C:\Program Files (x86)\Microsoft Point Of Service\posdm.exe" listdevices /type:PosPrinter