Ответ 1
API лицензирования программного обеспечения - SLIAPI, см. SLIsGenuineLocal()
. (Заменяет LegitCheck
)
Фон: Я создаю системные образы, которые будут загружены на несколько рабочих станций. Активация Windows произойдет после загрузки изображений на рабочую станцию. Эти компьютеры не будут подключены к Интернету и будут активированы по телефону.
Вопрос: Я бы хотел проверить программно, если Windows 7 активирована или нет, так что наше программное обеспечение не будет работать, если Windows 7 не активирована. Наше программное обеспечение написано на С#.
API лицензирования программного обеспечения - SLIAPI, см. SLIsGenuineLocal()
. (Заменяет LegitCheck
)
Вы можете запустить "Slmgr.vbs" на машине, а затем перенаправить вывод для проверки.
System.Diagnostics.Process.Start(@"cscript Slmgr.vbs > D:\\log.txt");
Это вернет всю необходимую информацию. Не самый чистый способ сделать это, хотя.
Не уверен, что это относится к Win7, но я нашел сообщение, которое проверяет XP на активацию с помощью класс Win32_WindowsProductActivation.
Я построю тестовый файл на своей машине (x64 Win7) и посмотрю, будет ли он активирован или нет, но, по крайней мере, дает вам что-то попробовать в среднем.
РЕДАКТИРОВАТЬ (желательно, чтобы я продолжал читать документы). Комментарий к этой странице класса означает, что этот класс, на Win 7 и другие версии) заменяется на Классы лицензирования программного обеспечения. Я посмотрю, смогу ли я получить рабочий результат.
Вы можете проверить HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows Activation Technologies\AdminObject\Store\TotalValidations и посмотреть, есть ли это 1. Это не может быть определяющим способом проверки активации, но вы должны хотя бы быть abel, чтобы проверить, подтверждено ли оно.
Вы можете использовать эту ссылку: https://github.com/Marko97IT/CWA В README.md вы можете найти ссылку для скачивания.