2011-05-02 6 views
10

배경 : 여러 대의 워크 스테이션에로드 할 시스템 이미지를 만듭니다. Windows 정품 인증은 이미지가 워크 스테이션에로드 된 후에 발생합니다. 이러한 컴퓨터는 인터넷에 연결되지 않고 전화로 활성화됩니다.프로그래밍 방식으로 Windows 7의 정품 인증 여부 확인

질문 : 내가 윈도우 7이 활성화되거나되지 않은 경우 윈도우 7이 활성화되지 않은 경우 우리의 소프트웨어가 실행되지 않도록 프로그램 확인하고 싶습니다. 우리의 소프트웨어는 C#으로 작성되었습니다.

답변

6

소프트웨어 라이선스 API - SLIAPISLIsGenuineLocal()에서 확인하십시오. (LegitCheck 대체)

+0

감사합니다. 이것이 C# 응용 프로그램에서 어떻게 구현됩니까? –

+1

""EntryPoint = "SLIsGenuineLocal" "에 대한 인터넷 검색은 나를 위해 http://theroadtodelphi.wordpress.com/2009/10/12/determine-genuine-windows-installation-in-c/를주었습니다. 내 사본이 합법적 인 것처럼 :) –

+0

+1 완벽 감사합니다! –

0

Win7에 적용되는지는 확실치 않지만 Win32_WindowsProductActivation 클래스를 사용하여 활성화를 XP에서 확인하는 I found a post.

내 컴퓨터 (x64 Win7)에서 테스트 하나를 빌드하고 정품 인증 여부를 확인하지만 평균 이상으로 시험 사용해 볼 수는 있습니다.

편집 클래스 페이지에 댓글이 윈도우 7과 다른 버전)에이 클래스의 Software Licensing Classes로 대체 될 것으로 보인다 것을 언급을 (필자는 문서를 읽고 유지 소원). 내가 결과를 얻을 수 있는지 알게 될거야.

2

"Slmgr.vbs"를 컴퓨터에서 실행 한 다음 출력을 확인하도록 리디렉션 할 수 있습니다.

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

이렇게하면 필요한 모든 정보가 반환됩니다. 그래도 가장 깨끗한 방법은 아닙니다.

0

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Windows 정품 인증 기술 \ AdminObject \ Store \ TotalValidations를 확인하고 1인지 확인하십시오. 정품 인증을 확인하는 결정적인 방법은 아니지만 최소한 그것이 유효한지 확인하기 위해 낙담하십시오.