我希望我的程序检查 Windows 10 是否已激活
我有以下代码
public static bool IsWindowsActivated()
{
bool activated = true;
ManagementScope scope = new ManagementScope(@"\\" + System.Environment.MachineName + @"\root\cimv2");
scope.Connect();
SelectQuery searchQuery = new SelectQuery("SELECT * FROM Win32_WindowsProductActivation");
ManagementObjectSearcher searcherObj = new ManagementObjectSearcher(scope, searchQuery);
using (ManagementObjectCollection obj = searcherObj.Get())
{
foreach (ManagementObject o in obj)
{
activated = ((int)o["ActivationRequired"] == 0) ? true : false;
}
}
return activated;
}
当尝试使用此代码时,调试器会抱怨Invalid class
,我不知道它是什么
我应该怎么做才能解决这个问题?或者还有其他方法可以检查Windows的许可证状态吗?
WMI 类Win32_WindowsProductActivation https://msdn.microsoft.com/en-us/library/aa394520(v=vs.85).aspx仅在 Windows XP 上受支持。对于 Windows 10,您需要使用SoftwareLicensingProduct https://msdn.microsoft.com/en-us/library/cc534596(v=vs.85).aspx
public static bool IsWindowsActivated()
{
ManagementScope scope = new ManagementScope(@"\\" + System.Environment.MachineName + @"\root\cimv2");
scope.Connect();
SelectQuery searchQuery = new SelectQuery("SELECT * FROM SoftwareLicensingProduct WHERE ApplicationID = '55c92734-d682-4d71-983e-d6ec3f16059f' and LicenseStatus = 1");
ManagementObjectSearcher searcherObj = new ManagementObjectSearcher(scope, searchQuery);
using (ManagementObjectCollection obj = searcherObj.Get())
{
return obj.Count > 0;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)