Как проверить, является ли версия Windows подлинной или нет? - PullRequest
2 голосов
/ 25 сентября 2011

Можно ли проверить, является ли установка Windows подлинной или нет программно?Допустим, я хочу проверить Windows 7 из C, C ++, Java или Python.

Ответы [ 3 ]

2 голосов
/ 25 сентября 2011

это из CodeProject, в C ++ ( Проверка подлинности Windows в VC ++ )

#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;
}
1 голос
/ 25 сентября 2011

С здесь : Вот 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
0 голосов
/ 25 сентября 2011

Решение Java заключается в использовании Process для запуска решения C ++ или VBScript как дочернего процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...