Programmatically check whether Windows 7 is activated

烂漫一生 提交于 2019-12-03 12:13:22

The Software Licensing API - SLIAPI, take at look at SLIsGenuineLocal(). (Replaces LegitCheck)

You can run "Slmgr.vbs" on the machine and then redirect the output to check.

System.Diagnostics.Process.Start(@"cscript Slmgr.vbs > D:\\log.txt");

This will return all the information you need. Not the cleanest way to do it though.

Not sure if it applies to Win7, but I found a post that checks XP for activation using a Win32_WindowsProductActivation class.

I'll build a test one on my machine (x64 Win7) and see if it returns activated or not, but at least gives you something to try out in the mean time.

EDIT (wish I kept reading the docs) A comment on that class page mentions that this class, on Win 7 and other versions) appears to be replaced with the Software Licensing Classes. I'll see if I can get a working result.

You may check HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows Activation Technologies\AdminObject\Store\TotalValidations and see if it is 1. This may not be the definative way to verify activation, but you should at least be abel to see if it was validated.

You can use this reference: https://github.com/Marko97IT/CWA In the README.md you can find the download link.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!