如何检查Windows版本是否为正版?

2 投票
3 回答
2383 浏览
提问于 2025-04-17 03:02

有没有办法通过编程的方式检查一个Windows系统是不是正版的呢?比如说,我想用C、C++、Java或者Python来检查Windows 7的情况。

3 个回答

0

Java的解决办法是使用Process来运行C++或VBScript的解决方案,作为一个子进程。

1

来自 这个链接:这里有一个可以实现这个功能的vbscript

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colWPA = objWMIService.ExecQuery _
("Select * from Win32_WindowsProductActivation")
For Each objWPA in colWPA
Wscript.Echo "Activation Required: " & objWPA.ActivationRequired
Wscript.Echo "Description: " & objWPA.Description
Wscript.Echo "Product ID: " & objWPA.ProductID
Wscript.Echo "Remaining Evaluation Period: " & _
objWPA.RemainingEvaluationPeriod
Wscript.Echo "Remaining Grace Period: " & objWPA.RemainingGracePeriod
Wscript.Echo "Server Name: " & objWPA.ServerName
Next
2

这是来自CodeProject的内容,关于C++的一个小技巧(在VC++中检查Windows是否正版

#include <slpublic.h>
#pragma comment(lib,"Slwga.lib")

bool IsWindowsGenuine()
{
    GUID uid;
    RPC_WSTR rpc=(RPC_WSTR)_T("55c92734-d682-4d71-983e-d6ec3f16059f");
    UuidFromString(rpc,&uid);
    SL_GENUINE_STATE state;
    SLIsGenuineLocal(&uid,&state,NULL);
    return state == SL_GENUINE_STATE::SL_GEN_STATE_IS_GENUINE;
}

撰写回答