【发布时间】:2017-01-06 22:50:43
【问题描述】:
我希望我的程序检查 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 的许可证状态?
【问题讨论】:
-
您在代码中的什么位置收到
Invalid class警告...? -
foreach循环中的@MethodMan -
您在哪个版本的 Windows 上执行此操作?
-
@ScottChamberlain 这是 Windows 10
-
"注意该类在 Windows XP 或 Windows Server 2003 R2 以外的平台上不受支持。在这些平台上,建议您改用软件许可类。"
标签: c# windows activation