Ammar Shaukat Ответов: 1

[ Магазина ] как с помощью com API основан на применении магазина?


В настоящее время я работаю над приложением UWP для работы со сканерами. Это приложение является POS-приложением и считывает штрих-коды. Windows 10 имеется встроенный сканер штрих-кодов класса. Это используется для приложений UWP, но его функциональные возможности ограничены. вы можете проверить это здесь.

Сканер штрих-кодов Window 10 для UWP & lt; доступен только в Creaters Update & gt;

дальше! мы должны использовать протокол SNAPI со сканированием штрих-кодов в нашем приложении. Поэтому вместо того, чтобы работать со встроенным классом .NET, мы перешли к 3-му стороннему сканеру штрих-кодов SDK, который предоставляет нам протокол SNAPI в своем коде. Это API на основе COM. Вы можете проверить это здесь.

Zebra Scanner SDK для Windows

Этот SDK очень старый. Он прекрасно работает со старыми платформами .NET, такими как Winforms, WPF и т. д., Но я не могу использовать его сервисы из приложения UWP.
Мы хотим использовать этот COM-API в нашем приложении UWP, но не можем найти способ использовать его из UWP. Есть ли способ использовать API на основе COM в приложениях UWP?

Что я уже пробовал:

вместо этого мы попытались создать службы WCF, чтобы косвенно использовать сторонний SDK, но это тяжелое решение большой проблемы, а также увеличивает сложность кода.
Я также использовал PCL (Portable class library ) для использования этого API из UWP, но PCL также не может получить доступ к API на основе COM.
Это проблема, из-за которой я застрял на несколько дней, не смог найти подходящего решения и в Интернете.

1 Ответов

Рейтинг:
12

Dave Kreskowiak

Некоторые COM-компоненты работают в приложениях UWP, большинство-нет. Почему?

Приложения UWP работают в "песочнице", где приложение нуждается в разрешениях, чтобы делать практически все. Они ограничены использованием ограниченного подмножества Win32 и COM API. Большинство существующих COM-компонентов, если они явно не написаны для UWP, не будут работать, потому что они вызывают API, которые не существуют или недоступны в ограниченной песочнице.

Из-за его" универсальной " природы не все платформы могут обрабатывать COM или действительно могут иметь какую-либо поддержку COM, как Windows Phone. Вот почему у вас действительно нет хорошего решения для использования COM-компонентов в UWP.

Вы можете попробовать собирается через этот[^] статья. Это для Windows 8, но это все еще относится к Win10. Удачи вам!