Проверьте статус лицензии MS Office программноC++

Программы на C++. Форум разработчиков
Anonymous
Проверьте статус лицензии MS Office программно

Сообщение Anonymous »

Можно ли программно проверить статус лицензии MS Office (2007-2016)? (предпочтительно C++)

Ниже поделюсь с вами своими исследованиями, возможно, они как-то помогут.

Я знаю, что начиная с Office 2010 существует скрипт OSPP.vbs для проверки статуса лицензии. Но поскольку я не могу использовать этот сценарий в своем коде (из-за проблем с безопасностью), я использую WMI для запроса LicenseStatus из информации SoftwareLicensingProduct на C++.

Проблема в том, что для офиса 2013 по запросу возвращается 36 лицензий (2 из них имеют ключи - первая лицензия предназначена для Word,Excel,PowerPoint, а вторая для Visio).
Для офиса 2016 есть лицензия на КАЖДОЕ офисное приложение (одну для Word, одну для Excel, одну для Powerpoint и еще одну для Visio). Срок действия одного из них может истечь раньше другого, при этом для офиса 2013 года существует общая лицензия для Word-Excel-PP и еще одна для Visio. Как я могу однозначно определить, 1) распространяется ли определенная лицензия на приложение Office, которое я использую, через объектную модель 2) еще не истек срок действия?
(Есть ли какой-то идентификатор для каждого приложения, доступный в классе SoftwareLicensingProduct?)

N.B. Дело в том, что я использую Word, Excel, PowerPoint и Visio (версии 2007-2016 годов) через объектную модель на C++ и перед запуском любого из приложений мне нужно знать, истек ли срок действия их лицензий.

Буду благодарен за любую помощь! Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/354 ... mmatically

Вернуться в «C++»